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.
- GitHub Models API Provider: Access 40+ models (DeepSeek, Llama 4, Grok 3) + embeddings
- Agent Creation Command:
codetyper agent create <name> --prompt "..." - Session Revert/Undo: Revert to any previous message
- File Watching: Detect external editor changes
- Anti-Research Constraint: Max 3 grep calls before forcing a decision
0.5.2 - 2026-03-30
- npm Package Build: Dist was stale (from Feb 16). Rebuilt with all 0.5.x changes.
- Package Dependencies: Updated packages.
0.5.1 - 2026-03-30
- Version Sync: Fixed version mismatch between package.json and version.json.
- Documentation: Updated changelog and README.
0.5.0 - 2026-03-30
complete_taskTool: Agents must explicitly signal completion via tool call. Text-only responses no longer stop the agent loop — the runtime enforces completion contracts.ask_userTool: LLM can present selectable options to users via TUI modal with keyboard navigation, 1-9 quick pick, and custom answer support.codetyper agent listCommand: Shows all available agents (built-in + project + global) in a formatted table. Created autonomously by the agent in 8 iterations.- Debug File Logger: Comprehensive logging to
/tmp/codetyper.cli.logwhenENV=DEV. Logs every API call (headers, payload, response), tool execution (full args, duration), agent iterations, permission checks, user prompts, and errors with stack traces. - Startup Instrumentation: Wraps token refresh, session ops, MCP connections, provider availability, hooks, and compaction with debug logging.
- Tool Filter Profiles: 7 profiles (full, explore, code, test, review, plan, chat) limiting which tools are sent per request. Default "code" profile = 10 tools (was 23).
- Context Budget Enforcement: Agent loop estimates tokens before each LLM call and trims old messages when approaching 80% of the model's context limit.
- Copilot API Optimizations:
X-Initiator: agent/userheader,cache_control: ephemeralon system messages,reasoning_opaquepreservation across turns,Copilot-Vision-Requestheader for image detection. - Grep
maxResultsParameter: Default limit of 200 results to prevent context explosion. - Shell Metacharacter Validation:
validateFilePath()rejects injection patterns (& | ; $ \() {} [] < > !`) in read/write/edit/multi-edit/apply-patch tools. - Sensitive File Guard on Multi-Edit: Blocks editing
.env, credentials, and other sensitive files in batch edits. - Theme Persistence: Saves theme selection to
~/.config/codetyper/theme.json, loads on startup. - Tab Key Navigation: Tab opens agent selector, Shift+Tab opens mode selector.
- Tool Output Truncation: 20KB cap for search tools (grep, bash, web_fetch). Read/edit tools skip truncation to preserve file integrity.
- Default Model:
gpt-5-mini→gpt-4.1(free/unlimited, 111K context, 16K output — 10x more efficient per token). - "auto" Model Removed: Copilot API rejects
model: "auto". Removed from model selector, header, and all fallback paths. - System Prompts Reduced ~75%: Base, balanced, and thorough tier prompts trimmed. Copilot provider prompt gutted (-4.4K chars). Total system prompt from ~14K to ~4K chars.
- Agent Autonomy: "Responding with only a plan or explanation is FAILURE. You MUST execute via tools." Adopted from crush's coder.md.tpl.
- Plan Approval Threshold: 3+ files → 5+ files. Simple tasks (single-file, docs, config) execute immediately without plan approval.
- MAX_PARALLEL_TOOLS: 3 → 10 for faster parallel tool execution.
- MCP Tools Scoped: Only included in "full" profile. Code/test/plan profiles get built-in tools only (eliminates 9
mcp_filesystem_*tools from most requests). - Model Lists Verified: Purged 8 non-functional models (codex variants, raptor-mini) via curl testing against Copilot API. 16 verified working models remain.
- Compaction Triggers: 80% → 60% threshold for earlier context compression.
- Prompt Instructions: "Use edit not write — write OVERWRITES entire file", "Read files with limit=500+", "If apply_patch fails, use edit immediately."
- 52 Bug Fixes across all subsystems:
- Security: Command injection validation, multi-edit sensitive file guard, Copilot token expiry buffer mismatch.
- Permissions: Path normalization (absolute vs relative), boundary-aware substring matching, absolute directory patterns.
- Memory: Capped unbounded stores — logs (2K), usage history (500), todo history (50), multi-agent instances (20), conflicts (50).
- Sessions: Context files restored on session resume, not cleared after first message, fork state cleanup on switch, graceful shutdown.
- TUI: Double @ in file picker, duplicate keyboard handlers, status bar timer leaks, streaming batch updates, modal event blocking, theme persistence.
- Providers: Ollama tool message format, default model
qwen3-coder:30b, tool capability detection, error body reading, cascade availability check, cascade audit crash protection.
- apply_patch Failures: Now returns detailed hunk failure reasons and suggests
edittool as fallback. Prevents 3x retry of same broken patch. - Modal Keyboard Freeze: Removed blanket
useKeyboard(stopPropagation)from CenteredModal that blocked all child component keyboard handlers (/model, /theme, etc.). - File Deletion Prevention: Tool output truncation no longer applies to read/edit results (previously truncated file content caused model to overwrite with partial data, deleting 951 lines).
- Cloud Sync Race: Replaced boolean flag with Promise-based mutex for concurrent sync protection.
- Dead Code: Deleted entire
src/api/copilot/directory (unused duplicate of providers layer). - Error Handling: Silent
.catch(() => {})blocks replaced with debug logging. Uncaught exceptions and unhandled rejections now log stack traces before exit.
0.4.7 - 2026-02-16
- Session Resume: Fixed
--resumenot finding sessions created in the current session- New sessions now properly use the session persistence system IDs
- Resume link on exit now displays the correct session ID instead of "unknown"
0.4.6 - 2026-02-16
- Copilot Usage Display: Real-time GitHub Copilot quota monitoring in the Activity Panel
- Shows Premium Requests, Chat, and Completions quotas with color-coded progress bars
- Color indicators: Green (>40% remaining), Yellow (5-40%), Red (≤5%)
- Auto-refreshes every 60 seconds and after task completion
- Displays quota reset date
- Available immediately when using GitHub Copilot provider
- Enhanced /usage Command: Color-coded progress bars matching the Activity Panel display
0.4.5 - 2026-02-14
- Session Stats on Exit: Display detailed session statistics when quitting the CLI
- Total usage estimate and Premium requests
- API time spent and total session time
- Total code changes (+additions/-deletions)
- Breakdown by AI model with token usage (input/output/cached)
- Resume command with session ID for easy session continuation
- CODETYPER ASCII art banner on exit
- Activity Panel Toggle:
Ctrl+Okeybind to show/hide the activity panel (context/tokens, modified files)
- Session Summary Persistence: Fixed exit message being cleared on exit
- Terminal Garbage on Exit: Fixed
997;1ntext appearing on exit, caused by unanswered DECRQM mode 997 query from the TUI renderer
0.4.4 - 2026-02-12
- Minor fixes and stability improvements
0.4.3 - 2026-02-11
- Pink Purple Theme: New built-in theme with hot pink primary, purple secondary, and deep magenta accent on a dark plum background
- Image Paste Race Condition: Fixed images being silently dropped when pasting via Ctrl+V. The
clearPastedImages()call in the input area was racing with the async message handler, clearing images before they could be read and attached to the message - @ File Picker: Now works at any cursor position in the input, not just when the input is empty
- / Command Menu: Now works at any cursor position in the input, not just when the input is empty
0.4.2 - 2026-02-10
- Exit Message Service: Fixed exit message service to use proper constants
0.4.1 - 2026-02-08
- Minor bug fixes and improvements
0.4.0 - 2026-02-06
-
Text Clipboard Copy/Read: Cross-platform text clipboard operations
- macOS (
osascript/pbpaste), Linux (wl-copy/xclip/xsel), Windows (PowerShell) - OSC 52 escape sequence support for SSH/tmux environments
- Mouse selection auto-copies to system clipboard via
onMouseUp Ctrl+Ykeyboard shortcut for copy-selection- Unified
readClipboard()returning text or image with MIME type - Shared
runCommandhelpers extracted from clipboard-service
- macOS (
-
Plan Approval Gate: User confirmation before agent executes plans
- Plan approval modal with keyboard navigation
- Multiple approval modes: auto-accept, manual approve, feedback
- Inline permission prompt for plan execution
-
Execution Control: Pause, resume, and abort agent execution
Ctrl+Pto toggle pause/resume during executionCtrl+Zto abort with rollbackCtrl+Shift+Sto toggle step-by-step mode- Enter to advance step when waiting for confirmation
-
Parallel Agent Execution: Unified agent registry with concurrent task support
-
Thinking Tag Parser: Parse and display reasoning/thinking tags from LLM responses
- Inline Permission Prompt: Improved TUI layout for permission prompts
- Clipboard Service Refactored: Extracted shared
runCommandinto@services/clipboard/run-command
- Sensitive File Protection: Auto-backup before modifying sensitive files (
.env, credentials, etc.) - Dangerous Command Blocking: Block destructive bash commands (
rm -rf,sudo, etc.)
- Rollback now correctly extracts file path from tool arguments
- Permission handling improvements
0.3.0 - 2025-02-04
- System Prompt Builder: New modular prompt system with modes, tiers, and providers
- Separate prompt templates for different agent modes
- Provider-specific prompt optimizations
- Tier-based prompt complexity (basic, standard, advanced)
- Restructured
src/Modules: Consistent internal organization across all modules- Deleted legacy
index.tsbarrel exports - Improved import paths with path aliases
- Better separation of concerns
- Deleted legacy
- Legacy React/Ink TUI: Removed old TUI implementation
- Migrated fully to Solid.js + OpenTUI
- Fixed TypeScript errors from removal
- Import paths in utils folder
- MCP initialization issues
0.2.4 - 2025-02-01
- MCP server connection stability improvements
- Various MCP-related bug fixes
0.2.3 - 2025-01-31
- MCP form input handling for server configuration
- Reactive MCP server state updates
- MCP server issues and stability
BRAIN_DISABLEDflag for disabling Brain API integration- Ollama tool call formatting improvements
0.2.2 - 2025-01-30
- App store initialization issue
- General stability improvements
0.2.1 - 2025-01-29
- MCP Server Searcher: Browse and discover MCP servers
- Interactive browser with
/mcp browse - Search servers with
/mcp search <query> - Filter by category (database, web, AI, dev-tools, etc.)
- View server details and required environment variables
- One-click install with
/mcp install <id> - 15+ curated verified servers from Anthropic
- Popular servers list with
/mcp popular - Category listing with
/mcp categories
- Interactive browser with
0.2.0 - 2025-01-28
-
Hooks System: Lifecycle hooks for extensibility
- 6 hook events: PreToolUse, PostToolUse, SessionStart, SessionEnd, UserPromptSubmit, Stop
- Exit code control flow (0=allow, 1=warn, 2=block)
- JSON input/output via stdin/stdout
- Modified arguments via
updatedInput - Global + local configuration support
- Configurable timeout per hook
-
Plugin System: Custom tools, commands, and hooks
- Plugin manifest with version and capabilities
- Custom tool definitions via TypeScript
- Custom slash commands via Markdown with frontmatter
- Plugin-specific hooks
- Global (~/.config/codetyper/plugins/) + local (.codetyper/plugins/)
- Dynamic tool/command registration
-
Session Forking/Rewind: Branch and time-travel session history
- Named snapshots at any point in conversation
- Rewind to any snapshot by name or index
- Fork branches from any snapshot
- Switch between forks
- Suggested commit messages based on session content
- Commands: /snapshot, /rewind, /fork, /forks, /switch
-
Vim Motions: Vim-style keyboard navigation
- 4 modes: Normal, Insert, Command, Visual
- Scroll navigation (j/k, gg/G, Ctrl+d/u)
- Search with highlighting (/, n/N)
- Command mode (:q, :w, :wq, :nohl)
- Mode indicator in status line
- Configurable via settings.json
0.1.80 - 2025-01-27
- Prompt template issues
- Agent response formatting
0.1.79 - 2025-01-26
- Version bump with minor fixes
0.1.78 - 2025-01-25
- Improved Agent Autonomy: Better task execution flow
- Enhanced Diff View: Improved readability for file changes
- Better color contrast
- Clearer line indicators
0.1.77 - 2025-01-24
- Debug Log Panel: View internal logs for troubleshooting
- Centered Modals: Improved modal positioning and appearance
- Multiple UX issues
- Modal positioning on different terminal sizes
- Input focus handling
0.1.76 - 2025-01-23
- Installation issues with npm link
- Package distribution problems
0.1.75 - 2025-01-22
- Repository URL in package.json
- Package metadata corrections
0.1.0 - 2025-01-16
-
Interactive TUI: Full terminal UI using Solid.js + OpenTUI
- Message-based input (Enter to send, Shift+Enter for newlines)
- Log panel showing conversation history
- Status bar with session info
- ASCII banner header
-
Permission System: Granular control over tool execution
- Interactive permission modal with keyboard navigation
- Scoped permissions: once, session, project, global
- Pattern-based matching:
Bash(command:args),Read(*),Write(path),Edit(*.ext) - Persistent storage in
~/.codetyper/settings.jsonand.codetyper/settings.json
-
Agent System: Autonomous task execution
- Multi-turn conversation with tool calls
- Automatic retry with exponential backoff for rate limits
- Configurable max iterations
-
Tools:
bash- Execute shell commandsread- Read file contentswrite- Create or overwrite filesedit- Find and replace in filesglob- Find files by patterngrep- Search file contents
-
Provider Support:
- GitHub Copilot (default) - OAuth device flow authentication
- Ollama - Local server (no auth)
-
Cascading Provider System: Intelligent routing between providers
- Quality scoring per task type
- Automatic provider selection based on performance
-
Session Management:
- Persistent session storage
- Continue previous sessions with
--continue - Resume specific sessions with
--resume <id>
-
CLI Commands:
codetyper- Start interactive TUIcodetyper <prompt>- Start with initial promptcodetyper login <provider>- Authenticate with providercodetyper status- Show provider status
-
Theme System: 14+ built-in color themes
-
Todo Panel: Task tracking with
Ctrl+T -
Home Screen: Welcome screen with version info
| Version | Date | Highlights |
|---|---|---|
| 0.4.7 | 2026-02-16 | Fixed session resume functionality |
| 0.4.6 | 2026-02-16 | Copilot usage display with color-coded progress bars |
| 0.4.5 | 2026-02-14 | Session stats on exit, activity panel toggle, exit improvements |
| 0.4.4 | 2026-02-12 | Minor fixes and stability improvements |
| 0.4.3 | 2026-02-11 | Pink-purple theme, image paste fix, @/commands anywhere |
| 0.4.2 | 2026-02-10 | Exit message service fixes |
| 0.5.2 | 2026-03-30 | npm package rebuild (stale dist from Feb) |
| 0.5.1 | 2026-03-30 | Version sync fix |
| 0.5.0 | 2026-03-30 | Agent completion architecture, tool filtering, 52 bug fixes, API opts |
| 0.4.1 | 2026-02-08 | Minor bug fixes |
| 0.4.0 | 2026-02-06 | Clipboard copy/read, plan approval, execution control, safety features |
| 0.3.0 | 2025-02-04 | System prompt builder, module restructure, legacy TUI removal |
| 0.2.x | 2025-01-28 - 02-01 | Hooks, plugins, session forks, vim motions, MCP browser |
| 0.1.x | 2025-01-16 - 01-27 | Initial release, TUI, agent system, providers, permissions |