Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
0.19.1 - 2026-05-23¶
Changed¶
- Preserved MCP skill enablement preferences during server sync while removing stale generated skills for deleted servers.
- Simplified MCP tool display and capped skill descriptions in REPL list output.
- Used MCP server instructions for generated skill descriptions.
- Store logs in
~/.keen/logsinstead of~/.keen-code/logs. - Refreshed documentation landing page styling and clarified skill activation persistence.
0.19.0 - 2026-05-21¶
Added¶
web_fetchtool to fetch URL content and convert HTML pages to Markdown for LLM consumption.- MCP server support with configurable transports, authentication, connection management, and tool discovery.
- MCP tool-calling support through generated MCP skills and the
call_mcp_tooltool. - Documentation for MCP servers, skill-driven MCP integration, and OAuth-authenticated MCP servers.
- GitHub Pages documentation site powered by MkDocs Material.
- Suggested subcommands for
/mcp connect,/mcp status,/skills list,/skills enable, and/skills disable.
Changed¶
- Streamlined README intro section.
- Updated REPL mode glyphs and removed mode-change confirmation messages.
- MCP skills now enable or disable based on connection status while preserving generated skill files.
- Improved docs site styling, navigation, badges, fonts, and local preview support.
Fixed¶
- Render markdown table row rules safely.
- Fixed broken or misleading documentation links and labels.
0.18.0 - 2026-05-16¶
Added¶
- Plan and build modes for structured REPL interaction workflows.
0.17.0 - 2026-05-15¶
Added¶
- Project-level tool allow lists for pre-approved permission checks.
- Anthropic prompt caching support and improved token usage tracking.
- Benchmark runner with updated benchmark documentation and demo assets.
Changed¶
- Improved REPL markdown rendering with width-aware horizontal rules, wrapped tables, connected table borders, and outer table frames.
- Refined assistant formatting guidance to prefer semantic GitHub-flavored markdown.
- Updated CLI usage and permission system documentation.
0.16.3 - 2026-05-13¶
Added¶
- Paginate
read_fileoutput and add line number prefixes. - OpenCode usage scripts and restructured benchmark output with usage timestamp filtering.
- Refined system prompt exploration guidance for efficient tool use.
Changed¶
- Restructured benchmark layout.
0.16.2 - 2026-05-12¶
Added¶
- Toggle focus between input and viewport via Tab and mouse clicks.
- Route up/down keys based on focused region.
- Dim input chrome and prompt glyph when focus is in the viewport.
Changed¶
- Merged PR #41: add basic benchmark.
0.16.1 - 2026-05-12¶
Added¶
keen runheadless command for non-interactive task execution.--providerand--modelflags to override LLM configuration inkeen run.
0.16.0 - 2026-05-11¶
Added¶
- Bundled workflow skills for common agent tasks.
/btwside questions for asking context-aware questions without interrupting the main conversation.- Documentation for
/btwside questions.
Changed¶
- Constrained REPL suggestion list height to fit the available viewport.
0.15.3 - 2026-05-08¶
Changed¶
- Moved release guide from README into a local skill at
.agents/skills/release/.
Added¶
- Documentation for turn memory KV cache and token cost analysis.
0.15.2 - 2026-05-08¶
Changed¶
- Avoid repeated file suggestion cache rebuilds in large repositories.
0.15.1 - 2026-05-07¶
Added¶
- Horizontal padding for submitted user input blocks.
Changed¶
- Use
git ls-filesfor faster cached file suggestions. - Improved REPL status display and usage documentation.
Fixed¶
- REPL submitted input wrapping test expectation.
0.15.0 - 2026-05-07¶
Added¶
- MiniMax provider support for M2.7 and M2.5 via the Anthropic-compatible API.
0.14.0 - 2026-05-06¶
Added¶
- OpenCode Go provider support routed through OpenAI-compatible or Anthropic clients, including provider registry entries and thinking parameter handling
- REPL session IDs propagated through LLM stream calls and attached as hyphenless OpenCode Go request headers (Anthropic and OpenAI-compatible)
- Architecture and system documentation covering AI providers, permission system, session management, skills system, tools, and turn memory
Changed¶
- Preserve Anthropic thinking blocks across tool continuations
- Simplified LLM test coverage by removing redundant provider, thinking effort, and system prompt tests
0.13.0 - 2026-05-06¶
Added¶
- Agent skills discovery, slash-command invocation, frontmatter validation, and argument substitution
- Bundled commit skill embedded in the binary and extracted to the user skills directory at runtime
- Additional model registry entries
Changed¶
- Reset LLM provider state when starting new REPL sessions
0.12.2 - 2026-05-03¶
Added¶
- Permission option to ask what the agent should do instead, interrupting the current stream while preserving partial state
0.12.1 - 2026-05-02¶
Changed¶
- Improved REPL loading status display with elapsed time
Fixed¶
- Indent wrapped submitted user input lines in the REPL transcript
0.12.0 - 2026-05-01¶
Added¶
- In-app text selection for REPL output and input, with copy support for active selections via
Ctrl+Cor forwardedCmd+C
0.11.2 - 2026-04-30¶
Changed¶
- Split REPL command handling into dedicated command handler components
0.11.1 - 2026-04-30¶
Added¶
- Shaded background block for the echoed user input that grows with line count and resizes responsively with the viewport
Changed¶
- Refreshed the prompt glyph from
>to▶across the textarea, echoed input, model selection inputs, session picker, and permission card cursor
0.11.0 - 2026-04-30¶
Added¶
- Retry support across streaming clients for improved LLM reliability
- Pending tool state preservation across turns
- Pending state recovery for all LLM clients
0.10.0 - 2026-04-27¶
Added¶
- ChatGPT OAuth support for the Codex provider
0.9.0 - 2026-04-27¶
0.8.0 - 2026-04-25¶
Added¶
- Retry transient LLM stream errors with backoff for OpenAI-compatible clients
0.7.0 - 2026-04-25¶
Added¶
- Startup update checker that notifies REPL users when a newer version is available
0.6.1 - 2026-04-25¶
Fixed¶
- Improved assistant markdown colors on light terminals while preserving inline code color and syntax highlighting
0.6.0 - 2025-07-18¶
Added¶
- Z.ai (GLM) as an OpenAI-compatible provider (#3)
- File suggestion with
@prefix in the input textarea filesearchpackage with gitignore-aware file indexing and glob-escaped query matching
Fixed¶
- Materialize partial message and TurnMemory on LLM error
Changed¶
- Bumped Anthropic max output tokens
0.5.0 - 2026-04-23¶
Added¶
- Configurable base URL per provider
- CONTRIBUTING.md for contributors
- Public-facing ROADMAP.md
- Turn-memory documentation
- Project tour, issue templates, and pull request template
- Demo GIF in README
Changed¶
- Wrapped REPL diff output in a viewport
- Updated LLM configuration
- Refreshed the demo GIF rendering with Monaspace Argon NF
0.4.1 - 2026-04-22¶
Fixed¶
- Retain tool memory on stream interrupt
0.4.0 - 2026-04-22¶
Added¶
- Provider-backed context status replacing the local word-count heuristic
- Token usage events emitted from all provider clients (OpenAI Responses, Anthropic, Genkit/Google AI, DeepSeek/Moonshot)
- Cache-aware token accounting for Anthropic (includes cache creation and read tokens)
- Anthropic adaptive effort display in the status bar
N/Adisplay when context window is unknown instead of a misleading percentage
Changed¶
- Context status now reports actual provider-counted token usage against the model context window
- Compaction suggestions are grounded in real tokenization rather than local estimates
/clearand/newreset context metrics for new sessions- Updated provider registry with new models and context windows
Removed¶
- Local word-count token estimation helpers (
estimateTokensFromWordCount,countWords,estimateToolDefinitionTokens,buildConversationForEstimation)
0.3.0 - 2026-04-21¶
Added¶
- Configurable thinking effort selection in model setup and via the
/thinkingruntime command - Direct Anthropic SDK client with expanded Anthropic streaming and tool-loop test coverage
- Refactored REPL helper packages for app state, output, permissions, theme, tooling, widgets, and streaming
Changed¶
- Thread thinking effort configuration through OpenAI Responses, Anthropic, and Genkit clients
- Added Anthropic prompt caching support in the REPL streaming path
- Refreshed phase-5 design notes and removed stale scratch artifacts
0.2.3 - 2026-04-19¶
Added¶
- Structured
TurnMemorysystem to replace in-band XML tags for tracking durable tool outcomes turnMemoryAccumulatorin REPL to automatically capture file changes and failed bash commands
Changed¶
- Refactored LLM provider interface to deterministically append tool memory metadata
- Simplified system and compaction prompts by removing manual memory tag instructions
- Improved session persistence to support structured tool outcomes
Removed¶
- Legacy
<keen_memory>tag parsing and stripping logic
0.2.2 - 2026-04-17¶
Added¶
- Hidden
keen_memoryblocks to preserve durable tool outcomes across turns without showing them in the REPL transcript
Changed¶
- Session picker now constrains its visible list to the current viewport height
Fixed¶
- Only extract trailing dedicated
keen_memoryblocks for logging and compaction-aware handling
0.2.1 - 2026-04-16¶
Changed¶
- Simplified REPL context status display and metadata emphasis
0.2.0 - 2026-04-16¶
Added¶
- Conversation session management with transcript persistence
/sessionscommand to list recent sessions with metadata/resumecommand with interactive picker to restore conversations/compactcommand to summarize conversation history via LLM- Event-sourced storage (session_started, user_message, assistant_turn, compaction_applied)
- Store tool outputs, bash results, and file diffs in transcript for full replay
0.1.7 - 2026-03-24¶
Added¶
- REPL context status indicator with progress bar and percentage based on model context window
- Slash command autosuggestion dropdown for
/help,/model, and/exit
Changed¶
- Consolidated REPL styling for context status and suggestion UI
0.1.6 - 2026-03-22¶
Changed¶
- Improved spinner UX with smoother feedback during LLM streaming
- Refined tool descriptions for better LLM tool selection
- Improved Genkit streaming reliability
0.1.5 - 2026-03-22¶
Added¶
- Install script for easier local setup
- npm wrapper package documentation
0.1.4 - 2026-03-22¶
Changed¶
- Switched npm publishing to trusted publishing (removes need for legacy token)
0.1.3 - 2026-03-22¶
Fixed¶
- Release pipeline corrections from v0.1.2
0.1.2 - 2026-03-22¶
Fixed¶
- Improved release flow and startup behavior
0.1.1 - 2026-03-22¶
Fixed¶
- npm wrapper publish and install flow
0.1.0 - 2026-03-22¶
Added¶
- Interactive REPL powered by Bubble Tea with streaming LLM responses
- Multi-turn tool calling with Genkit integration
read_filetool with interactive permission systemwrite_filetool with inline diff renderingedit_filetool with inline diff renderingbashtool with permission gatingglobtool for file pattern searchinggreptool for content search- File guard with
.gitignoreawareness and permission levels (granted/pending/denied) - Inline permission card UI (replaces full-screen modal)
- Dynamic system prompt generation with project context
- OpenAI-compatible client supporting DeepSeek (including reasoning/chain-of-thought)
- MoonshotAI provider via OpenAI-compatible client
- Dedicated OpenAI Responses API client
- GoReleaser config for cross-platform binary distribution
- npm wrapper package for installation via
npm install -g keen-code