AI-powered code editor built on Electrobun + ctt-shell MCP subprocess. Handles file system operations, terminal (PTY), git integration, and AI-powered code assistance via ctt-shell bridge.
CTT Code exposes 24 tools with basic schemas and descriptions, but falls short of production quality. Most tools have descriptions (good), but many are generic or under-specified. Parameter descriptions are sparse or missing entirely. No output schemas documented. Error handling is absent, tools return success/failure without recovery guidance. Tool naming is inconsistent (cttChat vs ctt_execute; openFolder vs terminalCreate). No tool annotations (readOnlyHint, destructiveHint). Destructive tools like deleteEntry lack confirmation patterns. Terminal and file operations are well-structured, but ctt-shell bridge tools are under-documented. Average tool score: 42/100.
Creates a new empty file
Creates a new folder
Sends a chat message to ctt-shell AI assistant and receives a reply
Executes an autonomous goal via ctt-shell with plan and execution pipeline
Gets list of available domains from ctt-shell
Searches ctt-shell knowledge base for code, skills, and patterns
Executes a goal via ctt-shell with optional domain specification
Lists available domains from ctt-shell
Naming inconsistency: cttChat/cttExecute vs ctt_execute/ctt_shell. Duplicate tools with different names (cttExecute vs ctt_execute, cttSearch vs ctt_search) confuse LLM tool selection. Consolidate to single canonical names.
No output schemas documented. Tools return success/failure objects but LLMs cannot see what fields to expect. readFile returns {content, language} but this is inferred, not declared. Breaks downstream tool chaining.
Destructive tools (deleteEntry) lack confirmation or dry-run patterns. No error guidance. LLMs can delete entire project trees without warning. Add confirmation_required annotation and recovery guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Recalls context from ctt-shell knowledge base for a given goal
Searches ctt-shell knowledge base with optional result limit
Executes a shell command via ctt-shell with optional role specification
Deletes a file or folder recursively
Gets list of git branches and current branch
Gets git status showing changed files
Lists files and directories in a given project path
Opens a file dialog to select a folder
Reads the content of a file and detects its language
Searches for files by name in a project directory
Searches for text content within files using ripgrep
Creates a new terminal session with PTY
Kills a terminal session
Resizes a terminal session
Writes data to a terminal session
Writes content to a file
ctt-shell bridge tools (cttChat, cttExecute, ctt_shell) have vague descriptions. 'Sends a chat message' and 'Executes an autonomous goal' do not explain when to use each vs the other, what they return, or failure modes. Descriptions under 50 chars.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot infer which tools are safe to retry, which modify state, or which are read-only. Breaks agent planning and error recovery.