secretctl
Cross-platform secret storage CLI for AI agents and developers. Store secrets in the OS keychain without cloud sync or biometrics.
Installation
pip install secretctl
On Linux, install with keyring support:
pip install secretctl[linux]
Quick Start
# Store a secret
secretctl set API_KEY sk-xxx123
# Retrieve a secret
secretctl get API_KEY
# List all secrets
secretctl list
# Delete a secret
secretctl delete API_KEY
Commands
Basic Operations
secretctl set <name> <value> # Store a secret
secretctl get <name> # Retrieve a secret
secretctl delete <name> # Delete a secret
secretctl list # List all secret names
secretctl exists <name> # Check if secret exists
Import/Export
# Export to env file
secretctl export > secrets.env
secretctl export --format json > secrets.json
# Import from file
secretctl import secrets.env
secretctl import secrets.json --format json
secretctl import secrets.env --overwrite # Replace existing
Namespaces
Use different accounts/namespaces to organize secrets:
secretctl --account myapp set DB_URL "postgres://..."
secretctl --account myapp list
JSON Output
All commands support --json for machine-readable output:
secretctl --json get API_KEY
{
"name": "API_KEY",
"value": "sk-xxx123",
"success": true
}
Platform Support
| Platform | Backend | Notes |
|---|---|---|
| macOS | Keychain | Uses security command |
| Linux | keyring | Requires secretctl[linux] |
For AI Agents
See SKILL.md for agent-optimized documentation.
Why secretctl?
- No cloud sync - Secrets stay local
- No biometrics - Works in automation/CI
- Simple CLI - Easy for agents to use
- JSON output - Machine-readable
- Namespaced - Multiple accounts/apps
License
MIT
Release files for secretctl-cli 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| secretctl_cli-0.1.0.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| secretctl_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.9 kB
Release files / secretctl_cli-0.1.0.tar.gz
| Download URL | secretctl_cli-0.1.0.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
59731dfb90807f569914a7ce33d1f769425ee0f67ae20890d935543d46396ffd
|
|
BLAKE2b-256 checksum How to use checksums |
1ae9a0137098812674120350bcebfaacde5d2cfd684424af1769cc01b77ccb66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / secretctl_cli-0.1.0-py3-none-any.whl
| Download URL | secretctl_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d6f5631ba9ec17b9ad402df855f81fb4ab45e829f81de364831b5094d6ac48cf
|
|
BLAKE2b-256 checksum How to use checksums |
fbaed373a4d52ffb7cdcd22772ec52f9e6a87762781f1b5c52c5c65e4cf58e16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|