abstract command signs you in and saves an API key on your machine, so a script or an agent can call the API.
Install
checksums.txt, and puts it in ~/.local/bin.
On Alpine, install libstdc++ and libgcc first.
Commands
abstract login
The command prints a link and a code. Open the link in a browser, sign in, and confirm the code. The CLI then creates a key namedabstract-cli@<hostname> and saves it.
On a machine that is already signed in, it keeps the existing key, so an agent can run abstract login without checking first.
The account needs a payment method or credit before the CLI can create a key.
Set one up at abstract.inc/start?setup=billing.
abstract token
Use it inside a command, and never print its output:abstract status
The command callsGET /v1/models with the saved key.
If the API answers 401, it tells you to run abstract logout --local, then abstract login.
When the refused key came from ABSTRACT_API_KEY, it tells you to fix or unset that variable instead.
abstract skill install
The command saves the skill for every agent it finds in your home directory:
An agent that is already running may need a new session to load the skill.
Files
ABSTRACT_CONFIG_DIR names another directory for this file.
Without it, a set XDG_CONFIG_HOME moves the file to $XDG_CONFIG_HOME/abstract/credentials.json.
A set ABSTRACT_API_KEY takes the saved key’s place, for abstract token, abstract status and every other command, and ABSTRACT_BASE_URL names another API.
The only other files the CLI writes are scripts that some commands run, cached in ~/.cache/abstract/<name>/<version>.
Exit codes
Set up an agent
Paste this into an agent with a terminal, such as Claude Code, Codex, Cursor or OpenCode:Set up Abstract for me. Runcurl -fsSL https://abstract.inc/install.sh | bash, thenabstract login, and show me the link and code it prints. After I confirm, runabstract status. Use$(abstract token)as the API key and never print it. Then runabstract skill install, read the skill it installs, and follow it for every call to the Abstract API.