aethercli is a small Go CLI for AetherAPI text models. It stores your AetherAPI key once, lets you choose a default model, and then sends prompts from your terminal.
From GitHub Releases:
curl -fsSL https://raw.githubusercontent.com/Aculnaj/aethercli/main/install.sh | shThe installer places aethercli in ~/.local/bin by default. Override with:
AETHER_INSTALL_DIR=/usr/local/bin sh install.shFrom source:
go install github.com/Aculnaj/aethercli/cmd/aethercli@latestRun setup once:
aethercli setupThe CLI asks for:
- your AetherAPI key, which must start with
sk-aetherapi- - your default text model, for example
claude-sonnet-4-6
The key is stored in the OS Keychain under service aether and account api-key. Non-secret config is stored in your user config directory at aether/config.json.
You can also use an environment variable instead of the keychain:
export AETHER_API_KEY=sk-aetherapi-...AETHER_API_KEY takes precedence over the stored key.
Ask with an explicit model:
aethercli ask "Write a short haiku about terminals" --model claude-sonnet-4-6Ask with your saved default model:
aethercli ask "Explain DNS in one paragraph"Pipe a longer prompt:
cat prompt.txt | aethercli ask --model gpt-4oAdd project context from files or directories:
aethercli ask "Review this implementation" --file internal/api/api.go
aethercli ask "Find risks in this project" --context .Directory context skips common build folders and honors simple .gitignore
patterns.
Start interactive mode:
aethercliStart the Bubble Tea chat TUI:
aethercli chat
aethercli tuiInside the TUI, type /help for commands such as /models, /sessions,
/resume <id>, /new, /clear, and /quit.
Send or resume a saved chat session without opening the TUI:
aethercli chat "Help me debug this failing test"
aethercli chat --resume "Continue with a smaller fix"
aethercli sessions list
aethercli sessions show 20260612-103000Stream output live:
aethercli ask "Draft a release note" --streamPrint JSON:
aethercli ask "Summarize this in one sentence" --jsonPreview estimated tokens and cost before sending a request:
aethercli ask "Explain this diff" --estimate --max-tokens 1000List text/chat models:
aethercli models
aethercli models --jsonUpdate the CLI when a new GitHub release is available:
aethercli updateRelease builds also check for updates automatically at most once per day and print a hint when a newer version exists.
Manage config:
aethercli config get
aethercli config set default-model claude-sonnet-4-6
aethercli config get default-model
aethercli config clear key
aethercli config clearRun tests:
go test ./...Build locally:
go build ./cmd/aethercliCreate release artifacts locally if GoReleaser is installed:
goreleaser release --snapshot --clean