# ABLIT CODE: Ablit's coding agent in your terminal ABLIT CODE is a coding agent that runs in your terminal, on your own machine. It reads your project, writes and edits files, runs commands and tests, and asks before anything risky. The model is Ablit: sign in once with your Ablit API key and choose Ablit Flash, Ablit Max or any model from the Ablit library. There is no seat and no separate subscription; usage draws from the credits of your Ablit account, at the same prices as the API. The agent core is OpenCode (MIT); the Ablit build adds the Ablit provider and connects it to the Ablit model router. ## Install macOS (Apple Silicon and Intel) and Linux (x64 and arm64): ```bash curl -fsSL https://ablit.app/install | bash ``` Windows 10/11 (x64, PowerShell): ```powershell irm https://ablit.app/install.ps1 | iex ``` The installer detects your system, downloads the matching build, verifies its SHA-256 checksum against the published `SHA256SUMS`, installs it into `~/.ablit-code/bin` (`%USERPROFILE%\.ablit-code\bin` on Windows) and adds that directory to your PATH. The command is `ablit` (`ablit-code` is the same program, for scripts that prefer the full name). The terminal you installed from does not see the new PATH yet: run `export PATH=$HOME/.ablit-code/bin:$PATH` there once, or open a new terminal. A specific version: `curl -fsSL https://ablit.app/install | bash -s -- --version 2.3.2`, or `$env:ABLIT_CODE_VERSION = "2.3.2"` before the PowerShell command. Requirements: 64-bit Linux with glibc (Ubuntu 18.04+, Debian 10+, Fedora, Arch and similar; Alpine/musl is not supported yet), a recent macOS, or Windows 10/11 x64. On Windows on ARM the x64 build runs through emulation. On an x64 CPU without AVX2 the installer picks the `-baseline` build automatically. You can also download the archives yourself from the [releases page](https://github.com/mconqeuroror/ablit-code-cli/releases/latest) and verify them against `SHA256SUMS`: | Build | File | | --- | --- | | macOS Apple Silicon | `ablit-code-darwin-arm64.tar.gz` | | macOS Intel | `ablit-code-darwin-x64.tar.gz` | | Linux x64 | `ablit-code-linux-x64.tar.gz` (`-baseline` without AVX2) | | Linux arm64 | `ablit-code-linux-arm64.tar.gz` | | Windows x64 | `ablit-code-windows-x64.zip` (`-baseline` without AVX2) | Each archive holds the `ablit-code` executable and the `ablit` short command. Put it anywhere on your PATH; on macOS clear the download quarantine once with `xattr -d com.apple.quarantine ablit-code` (the installer does this for you). Upgrade in place with `ablit upgrade`; remove it with `ablit uninstall` (sessions and configuration are kept unless you delete them). ## Connect your Ablit key Create a key in **Settings → API access** on [ablit.app](https://ablit.app/chat?settings=developer). The default permissions (`run`, `read`, `cancel`) are enough; `run` is what the model API needs. The complete key is shown once. Then, in a terminal: ```bash ablit auth login ablit ``` Paste the key when asked. It is stored in the CLI's own credential store on your machine and never written to a project. Alternatives: export `ABLIT_API_KEY` in your shell or CI (the environment variable wins over a stored key), or type `/connect` inside the agent. `ablit auth list` shows what is connected and `ablit auth logout ablit` removes the key. Keys expire after 90 days by default (up to 365 when you create them) and can be revoked in Settings at any time; the next request then fails with 401 and you connect a new key the same way. ## Start coding ```bash cd my-project ablit ``` The first start asks for your Ablit API key (the same form opens with `/connect`); nothing else is offered until a key is connected, and there are no free or third-party models in the box. Afterwards this opens the agent in your project. Describe what you want ("add input validation to the signup form and cover it with tests"); the agent reads the relevant files, proposes edits, runs the commands it needs and shows you every change. File writes and shell commands outside your project, deletions and other risky actions ask for approval first. `/help` lists the commands available inside the session; `/models` switches the model; `/connect` adds a provider or key. Ablit Flash is the default model once Ablit is connected. Model ids are written `ablit/`, for example `ablit/ablit-flash`, `ablit/ablit` (Ablit Max), `ablit/cheap-gpt-6-luna` or `ablit/stable-claude-sonnet-5.5`; `ablit models` prints the current list. Every model offers reasoning-effort variants (low, medium, high, max) in the model picker. Run a task without the interactive screen, for scripts and CI: ```bash ablit run "Summarise what this repository does and list its entry points" ablit run -m ablit/ablit "Refactor src/billing.ts into smaller functions; keep behaviour identical" ablit run -c "Now add tests for the functions you extracted" # continue the last session ablit run -f design.png "Build this screen as a React component" # attach a file ``` Useful flags: `-m, --model` picks the model, `-c, --continue` resumes the last session, `-s, --session ` a specific one, `-f, --file` attaches files or images, `--thinking` prints the model's reasoning, `--title` names the session. `ablit --auto` approves permissions that are not explicitly denied, for unattended runs you trust. `ablit session list` shows past sessions and `ablit debug paths` prints where the CLI keeps its configuration, sessions, logs and cache. ## Models and pricing The model list and prices come from Ablit and refresh automatically (the CLI fetches `https://ablit.app/api/catalog/opencode` on start and every few minutes), so a model added to the router appears without reinstalling. Prices are per million tokens and are charged to your Ablit credits exactly as the API charges them: | Model | Input | Cached input | Output | | --- | --- | --- | --- | | `ablit-flash` (Ablit Flash) | $0.75 | $0.075 | $3 | | `ablit` (Ablit Max) | the former Ablit pricing | | | | `cheap-…` and `stable-…` library models | that model's platform list price with Ablit's markup | | | The current figures for every model are in the [API docs](https://ablit.app/docs/api) and in `GET https://ide.ablit.app/api/v1/models` (`pricing` field). Responses are capped at 32,768 output tokens; Ablit Flash and Ablit Max work with a 1M-token context, other models with their own window, which the picker shows. ## Tools, permissions and MCP The agent's tools (read, edit, shell, search, web fetch) run locally with your user's permissions and your approval; the Ablit API never executes anything on your computer. Connect MCP servers with `ablit mcp add` or in the project's `opencode.json`; their tools appear in the session like built-in ones. Ablit's optional cloud tools (durable cloud tasks, remote Kali workspace) are available as a remote MCP server at `https://ide.ablit.app/api/v1/mcp`; see the API docs. Because the CLI sends its own tool definitions, the router does not attach cloud tools to its requests by itself. Project instructions work the way they do in OpenCode: an `AGENTS.md` in the repository is read on every session, and `ablit debug agents` lists the agent modes. Configuration lives in `opencode.json` in the project or in the user configuration directory that `ablit debug paths` shows (`~/.config/ablit-code` on macOS and Linux). ABLIT CODE keeps its own directories, so it never shares state with an installed OpenCode. ## Troubleshooting | Symptom | What it means and what to do | | --- | --- | | `ablit: command not found` right after installing | The terminal you installed from has the old PATH. Run `export PATH=$HOME/.ablit-code/bin:$PATH` there, or open a new terminal. | | `401` or "invalid key" | The key is wrong, expired or revoked. Create a new key in Settings → API access and run `ablit auth login ablit` again. | | `402 Insufficient credits` | Top up credits on ablit.app; model requests reserve credits before they run. | | `403` | The key lacks the `run` permission or the account cannot use the API. Create a key with `run`. | | macOS: "cannot be opened" or "is damaged" | A manually downloaded binary is quarantined. Run `xattr -d com.apple.quarantine ~/.ablit-code/bin/ablit-code`. The binaries are signed; the installer clears this for you. | | Windows SmartScreen warning | The executable is not yet signed with a Windows certificate. Choose "More info → Run anyway", or run `Unblock-File` on it; the installer does this. | | Linux: `Illegal instruction` | Your CPU has no AVX2. Install the `-baseline` build (`ablit-code-linux-x64-baseline.tar.gz`); the installer detects this automatically. | | Alpine or another musl distribution | Not supported yet; use a glibc image such as `debian:bookworm-slim`. | | Behind a proxy | Set `HTTPS_PROXY` (and `NO_PROXY` as needed); the CLI uses the system certificate store. | | `context_length_exceeded` | Start a new session or drop large files from the conversation; or pick a model with a larger window in `/models`. | | `model_unavailable` or `503` | The provider is busy; retry shortly or switch models. | | A new router model is missing | The list refreshes on start and every few minutes; `ablit models` after a restart shows it. | | `ABLIT_API_KEY` is set but no `ablit/…` models appear | The CLI talks to a background service that keeps the environment it was started with. Run `ablit service restart`, or store the key with `ablit auth login ablit` so it applies everywhere. | Logs and every directory the CLI uses: `ablit debug paths`. When you contact support, send the request id from the error, never your API key. ## Privacy and limits Your repository stays on your machine. What reaches Ablit is what the agent sends to the model: your messages, the parts of files it reads to do the task, tool results and command output, under Ablit's terms and privacy policy. Each account can run as many local sessions as it likes; spend is bounded by your credit balance, and API keys are not request-rate limited. Durable cloud work that should continue after you close the terminal is a separate feature of the API (`POST /v1/runs` and the cloud MCP tools), not of the local agent.