a small
coding agent
for your terminal
One tiny Go binary that reads, writes, greps, edits and runs commands in your project, driven by the model you choose — OpenAI, Anthropic, Google Gemini, or a local model via Ollama.
Small, lightweight, fast, readable. The opposite of an IDE-in-a-terminal.
- one binary
- one dependency
- four providers
- six tools
- no vendor SDKs
$ curl -fsSL https://raw.githubusercontent.com/robitec97/scay/main/scripts/install.sh | sh
macOS and Linux. On Go 1.25+: go install github.com/robitec97/scay@latest
A session, in full it will stop and ask you something
The gate
Looking is free.
Changing asks.
The model works with six built-in tools. Anything that only
reads runs immediately. Anything that
changes your machine stops and waits for a
y.
Write approvals show you the content for a new file, or a diff for an overwrite. Prompts resolve symlinks and flag targets outside the working directory. Files must be read before they can be edited.
Ctrl-C interrupts the current turn — it aborts the model call
or the running tool without killing your session. If you want the gate out
of the way entirely, scay yolo auto-approves everything. Use
it with care.
Providers
Four backends,
talked to directly.
Every adapter is plain net/http against the provider's own
API — no vendor SDKs to compile. Responses stream on all four, and
transient failures retry automatically with backoff.
Environment variables override the config file, so CI and one-off shells
work without touching your saved setup. Credentials are stored with
0600 permissions under ~/.config/scay.
Anthropic
ANTHROPIC_API_KEY
OpenAI
OPENAI_API_KEY, or an experimental ChatGPT subscription login via /auth openai
Google Gemini
GEMINI_API_KEY or GOOGLE_API_KEY
Ollama — local
No key. Just ollama serve. /model lists the models you actually have installed.
The ChatGPT route relies on the Codex protocol and is explicitly experimental.
Inside the session
Everything is a
slash command.
There is no configuration file to learn first. Run scay, and
it walks you through /auth and /model right
there. Settings are remembered, so next time you just type.
Outside the session, the whole surface is four words:
scay # the interactive session scay yolo # same, every action auto-approved scay update # self-update to the latest release scay version # print the version
add, list, remove, get, toolsCtrl-D works tooMCP · optional
Bring your own tools.
scay is an MCP client. Plug in external tool servers over stdio or streamable HTTP and the model uses them like built-ins — behind the same approval gate.
Servers live in your global config, or in a per-project
.mcp.json you can commit and share with the repo.
/mcp add fs -- npx -y @modelcontextprotocol/server-filesystem . /mcp tools # connect and list what the model will see /mcp add --project fs -- … # shared via .mcp.json
Tools are namespaced mcp__server__tool. A server that fails to
start degrades to a warning instead of taking the session down with it.
Where it stands
Early development.
v0.2.0 is tagged and published. The install script and scay update
are verified end to end, including checksum verification before the binary is
swapped. Live checks against the cloud providers are still in progress.
Read next
ROADMAP.md — what works today, what's next
Architecture
docs/OVERVIEW.md — the design and the reasoning behind it
Requirements
macOS or Linux. Go 1.25+ to build from source.
License
MIT