About Keen Code
Overview
Keen Code is a terminal-native AI coding agent written in Go and shipped as an open-source CLI. You install it with npm or a shell script, start it inside a project directory, and hand it a task in plain language. The project stays deliberately minimal and targets typical software engineering work rather than every possible AI workflow.
Keen Code talks to eleven model providers, including Anthropic, OpenAI, Google Gemini, DeepSeek, Kimi, GLM, MiniMax, OpenCode Go, and Amazon Bedrock, and you move between them with the /model command. The team built the agent with coding agents and agentic IDEs, saved prompts and output docs as markdown in a .ai-interactions directory, and frames the engineers who use it as orchestrators.
Key Benefits
- Eleven model providers run inside one CLI, and the /model command switches between them with no lock-in.
- The Jev smart router classifies every turn as simple, standard, or complex and picks a matching model so trivial questions stop consuming flagship tokens.
- Hashline editing anchors each line with a line number plus a 3-character FNV-1a hash and rejects stale anchors instead of editing drifted content.
- Subagents take on up to 10 bounded tasks in parallel for research, implementation, and review, then merge the results.
- Skills wrap custom slash commands around specialized subagents for review, security, and refactor work.
- Permission guards run filesystem and sensitive-path checks on every file operation and ask before touching a file.
How It Works
Install Keen globally with npm install -g keen-code or the install script, then run keen with a prompt inside your project. Keen classifies the turn, selects a provider model, and works through built-in tools such as read_file, grep, and bash while permission guards check each file operation. You change models with /model, attach MCP servers from ~/.keen/mcp/configs.json, and invoke skills as slash commands.
Use Cases
Use Cases
- Software engineers open Keen inside a project and ask it to explain the codebase and flag the riskiest file to change.
- Engineers acting as orchestrators delegate up to 10 bounded tasks to parallel subagents for research, implementation, and review.
- Reviewers create a skill command that runs a specialized review subagent against pending changes.
- Security-minded teams build a skill that runs a security subagent against sensitive paths before edits land.
- Cost-conscious teams route simple turns to cheaper models with the Jev smart router.
- Teams connecting internal tooling attach MCP servers through a config file and call them as mcp:<server> skills.
Why Choose This Product
Keen Code keeps the agent harness small on purpose. The author calls the design highly opinionated and drops features a regular software engineer does not need, which leaves a lighter and simpler tool than larger coding agents. That focus suits engineers who want a readable Go codebase, hash-anchored edits that reject stale content, and provider choice at the command line, and it will not suit teams hunting for a broad platform of adjacent AI features.
Keen Code Pros & Cons
- Eleven model providers reachable from one CLI
- Open-source Go codebase you can read and modify
- Hash-anchored edits reject stale anchors
- Up to 10 parallel subagents per session
- Permission guards check every file operation
- Highly opinionated scope drops features some engineers expect
Key Features
Multi-Provider Switch
Keen Code connects to eleven providers, including Anthropic, OpenAI, Gemini, DeepSeek, Kimi, GLM, MiniMax, and Amazon Bedrock, and you change models with the /model command.
Smart Router
The Jev router classifies each turn as simple, standard, or complex and switches to a matching model so flagship tokens stay off trivial questions.
Parallel Subagents
Keen Code delegates up to 10 bounded tasks to parallel subagents for research, implementation, and review, then merges their results.
Hash-Anchored Edits
read_file prefixes every line with a line number and 3-character FNV-1a hash, and edit_file applies its ops array against one file snapshot, rejecting stale anchors.
Skill-Driven MCP
MCP servers become mcp:<server> skills that discover tool schemas on demand instead of loading every schema up front.
Skills System
Custom slash commands run specialized subagents for review, security, and refactor work.
Built-in Tools
Ten tools ship in the box: read_file, write_file, edit_file, glob, grep, bash, web_fetch, ask_user, delegate_task, and call_mcp_tool.
Turn Memory
Keen Code carries lean cross-turn context through compact summaries instead of raw tool traces.
Permission Guards
Filesystem and sensitive-path checks run on every file operation, and the agent asks before it touches a file.
Frequently asked questions about Keen Code
How do I install Keen Code?
Install Keen Code globally with npm install -g keen-code, run the curl install script from the project repository, or try it without installing via npx keen-code. Then cd into your project and run keen with a prompt.
Which AI model providers does Keen Code support?
Keen Code works with eleven providers, including Anthropic, OpenAI, Codex via OAuth, Google Gemini, DeepSeek, Kimi, GLM, MiniMax, OpenCode Go, Yolo-Auto, and Amazon Bedrock. The about page says more providers will be added in the future.
How do I switch models?
Use the /model command to change providers and models mid-session. Running /model router switches Keen to the Jev smart router, which classifies each turn as simple, standard, or complex and picks a model that fits.
What tools does Keen Code include?
Keen Code ships ten built-in tools: read_file, write_file, edit_file, glob, grep, bash, web_fetch, ask_user, delegate_task, and call_mcp_tool. The core coding tools stay deliberately lean.
What is hashline editing?
read_file prefixes every line with an N:HASH| anchor combining the line number and a 3-character FNV-1a hash. edit_file then applies a multi-op ops[] array validated against a single file snapshot atomically, so stale anchors get rejected instead of editing drifted content.
How does Keen Code handle context between turns?
Keen Code uses turn memory, a lean cross-turn context that keeps compact summaries instead of raw tool traces.

