Built-in tools
Every session ships with:ipython— a persistent Python kernel provisioned byIpythonKernelProvisioner.bash/ shell — run a shell command.editand file operations — read, write, patch files with structured diffs.grepandfind— search the working tree.
read, write, grep, find, ls were removed and no longer exist as separate tools; the current tools cover their use cases. Every tool implements the AgentTool interface (execute, prepareArguments) plus optional beforeToolCall / afterToolCall hooks that can block or override results. See Tool cards for what they look like in a run.
Skills
Skills are executable packages the agent loads automatically. Two flavors:MarkdownSkill— a markdown file (SKILL.md) that describes a workflow the agent should follow when a matching request comes in.PythonSkill— an importable Python module that adds real behavior.
loadSkills and loadSkillsFromDir. Under the hood a skill registers as an extension: it adds tools, slash commands, and shortcuts to the session. The built-in skill creator turns any recurring workflow you notice yourself repeating into a personal or project-level skill.
See Skills guide.
Extensions
Extensions are the general escape hatch. Any package that implements theExtensionRuntime / ExtensionAPI interface can register:
- New tools
- New slash commands
- Shortcuts
- UI extensions consumed by the web adapter through
ExtensionUIContext
MCP is a special case
Model Context Protocol servers are exposed to the agent as extensions. The runtime treats each registered MCP tool as a normalAgentTool — you get MCP interop without any special code path on the agent side. See MCP guide.