clanker
LLM-powered shell helper that generates a command and pastes it into your terminal input so you can edit or run it.
Install
Use uv:
uv tool install clanker
Quick start
Configure the endpoint, model, and API key once:
clanker config
Then ask for a command:
clanker do "List all the files with the extension .pyc in this directory recursively and sum up their sizes"
Ask a question (no command insertion):
clanker ask "What does the -print0 flag do in find?"
By default, clanker will attempt to paste the generated command into your active terminal input (no auto-enter). If pasting fails, the command is printed so you can copy it manually.
You can also omit the do subcommand; clanker "..." is treated as clanker do "...".
Prompts should be provided as a single quoted string.
Verbose mode (prints request payload, response, and step logs to stderr). Use -v or --verbose, and it can appear anywhere in the command:
clanker -v do "List all .py files"
Fish integration (recommended)
Many Linux distros disable tty injection. If you use fish, the best UX is to install the fish wrapper so the command is inserted via commandline -i:
clanker init fish
If you want the script printed instead of written, run clanker init fish --print.
Restart fish (or run the source ... command that clanker init prints) and then run clanker "..." as usual.
Configuration
Interactive wizard:
clanker config
Show config:
clanker config show
Set values directly:
clanker config set --endpoint https://api.openai.com/v1 --model gpt-4o-mini --api-key sk-...
Config file location:
clanker config path
Environment overrides:
CLANKER_ENDPOINTCLANKER_MODELCLANKER_API_KEYCLANKER_SHELLCLANKER_CONFIG(full path to config file)
Notes on pasting
Clanker uses a Linux tty injection (TIOCSTI) to paste the command into the current terminal input buffer. Some systems disable this for security (for example dev.tty.legacy_tiocsti=0). If it is blocked, clanker prints the command instead. You can also force printing with:
clanker --print "..."
Metadata
Release files for clanker 1.0.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 | Provenance | Actions |
|---|---|---|---|---|
| clanker-1.0.0.tar.gz | 9.2 kB | Without provenance | Details for clanker-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| clanker-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for clanker-1.0.0-py3-none-any.whl |
Total release size: 21.3 kB
Release files / clanker-1.0.0.tar.gz
| Download URL | clanker-1.0.0.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
11b33be5673a443dd6d0274efe41d2f42bd82ea598cfce5ed4d022c8f3815eef
|
|
BLAKE2b-256 checksum How to use checksums |
fbba33f6f30870b7d3a35cd9621fd543ce22f82aa86c6a17c2c6e8400853a124
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / clanker-1.0.0-py3-none-any.whl
| Download URL | clanker-1.0.0-py3-none-any.whl |
|---|---|
| Size | 12.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e6c1b4eed071541df440983bedadd4ba53caaee9e080b7482caab3e65407a5ec
|
|
BLAKE2b-256 checksum How to use checksums |
4e841c7c565bd6ac6c0d47e938815d227067bcf7eea8a18b972ac71387cb8859
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for clanker 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.