scay — 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 LLM of your choice — OpenAI, Anthropic, Google Gemini, or a local model via Ollama.
Philosophy: small, lightweight, fast, readable. The opposite of an IDE-in-a-terminal. One dependency (the official MCP SDK), no vendor SDKs, nothing else to compile.
Prebuilt binary (macOS or Linux):
curl -fsSL https://raw.githubusercontent.com/robitec97/scay/main/scripts/install.sh | shWith Go 1.25+:
go install github.com/robitec97/scay@latest
# or from a checkout:
go build -o scay .Everything happens inside one interactive session. Open it:
scayFirst time, scay walks you through setup right there:
/auth— pick a provider and authenticate. OpenAI accepts an API key or an experimental ChatGPT subscription login; Ollama needs neither. Credentials are stored with0600permissions under~/.config/scay./model— pick the provider, model, and thinking effort. With Ollama, the menu lists whatever models you actually have installed.- Type what you want. Anything that isn't a
/commandgoes to the model.
That's it. Settings are remembered, so next time you just run scay and type.
The model works with six built-in tools: read, list, grep, edit, write, and bash. Reading is free; anything that changes your machine (write / edit / bash, and every MCP tool) stops and asks first:
[scay] run: python3 fib.py
Allow? [y/N]:
Slash commands, inside the session:
| Command | What it does |
|---|---|
/model |
Pick provider, model, and thinking effort (applies live) |
/auth [provider] |
Authenticate; OpenAI offers API key or experimental ChatGPT login |
/mcp |
Manage MCP servers — add, list, remove, get, tools |
/compact |
Squash a long history into a summary, freeing context |
/clear |
Start the conversation over |
/help |
The list above, in your terminal |
/exit |
Quit (Ctrl-D works too) |
Ctrl-C interrupts the current turn — it aborts the model call or running tool without killing your session.
And the entire command surface outside the session:
scay # the interactive session
scay yolo # same, but every tool action is auto-approved — use with care
scay update # self-update to the latest release
scay version # print the version| Provider | Authentication |
|---|---|
| Anthropic | ANTHROPIC_API_KEY |
| OpenAI | OPENAI_API_KEY, or experimental ChatGPT subscription login via /auth openai |
| Google Gemini | GEMINI_API_KEY or GOOGLE_API_KEY |
| Ollama (local) | no key — just ollama serve (OLLAMA_HOST to point elsewhere) |
Environment variables override the config file, so CI and one-off shells work without touching your saved setup. ChatGPT login relies on the Codex protocol and is explicitly experimental. Responses stream on all four backends, and transient API failures retry automatically with backoff.
scay is an MCP client: plug in external tool servers and the model can use them like built-ins (behind the same approval gate).
/mcp add fs -- npx -y @modelcontextprotocol/server-filesystem .
/mcp tools # connect and list what the model will see
Servers live in the global config, or in a per-project .mcp.json
(/mcp add --project …) that you can commit and share.
Early development. See ROADMAP.md for what works today and
what's next, and docs/OVERVIEW.md for the architecture
and the reasoning behind it.
MIT — see LICENSE.