Skip to content

Built-in tools

The model works through a registry of 45 built-in tools, plus every connected MCP server's tools (exposed as mcp__<server>__<tool>). Any agent can be restricted to a subset via allowed_tools — in its profile, in the Agent tool call, or globally with --allowed-tools / --disallowed-tools.

Read-only tools run without prompts; mutating tools go through the permission engine.

Files

Canonical names match Claude Code (Read / Write / Edit). Older FileRead / FileWrite / FileEdit names still resolve via aliases.

ToolWhat it does
ReadRead a file (line ranges for big files; images and other binary formats handled natively)
WriteCreate or overwrite a file
EditExact string replacement, rendered as a word-level structured diff
ApplyPatchMulti-hunk patch apply (Codex-style) across one or more files
NotebookEditReplace / insert / delete cells in a Jupyter notebook

Access outside the workspace (cwd + --add-dir roots) asks first (confirmOutsideWorkspace).

Shell

ToolWhat it does
BashRun a shell command (Unix). A built-in classifier separates read-only from state-changing commands: read-only runs free, mutating asks (bashPromptForWrites). Destructive patterns (rm -rf /, force-push to protected refs, …) are hard-blocked. Optional OS sandbox.
PowerShellRegistered on Windows instead of Bash
exec_commandStart an interactive command in a persistent PTY session — REPLs, debuggers, installers, dev servers. If it doesn't finish within yield_time_ms, returns a session_id to continue with write_stdin. Same read-only classifier and sandbox as Bash; prompts like a command in Default/AcceptEdits modes. Session quotas are tunable via HIPMMCODE_PTY_PER_AGENT / _PER_THREAD / _PER_WORKSPACE / _PER_TENANT / HIPMMCODE_MAX_PTY_SESSIONS.
write_stdinFeed input (e.g. "" for Ctrl-C) to an exec_command session and collect only the new output since the last call; also resizes the terminal (rows/cols) and terminates the session (terminate: true). Empty chars polls without writing.
ToolWhat it does
GrepRegex content search (ripgrep-style, filters, context lines)
GlobFilename pattern matching (**/*.rs), sorted by mtime
ToolSearchFind deferred / niche tools by keyword when the full catalog is too large to expose at once

Web

ToolWhat it does
WebSearchReal-time search — native Anthropic / DeepSeek-Anthropic / Gemini; xAI Responses web_search on Grok; AnySearch elsewhere. Unified Sources: footer. See Web search
WebFetchFetch a URL and read it as text

Image generation

ToolWhat it does
GenerateImageGenerate an image from a text prompt on the active channel and save it to output_path (default: cwd). OpenAI / openai-codex: /images/generations with size / quality. xAI / xai-oauth: xAI Imagine (grok-imagine-image*) — OpenAI size/quality are mapped or ignored; the wire body uses Imagine aspect_ratio + b64_json (never send raw OpenAI-only enums that xAI rejects with 400).

Video generation

ToolWhat it does
GenerateVideoNative Qwen Token Plan video generation on qwen-token-plan or qwen-token-plan-anthropic—not a Skill. Uses the configured sk-sp-... key for happyhorse-1.1-t2v (text only), happyhorse-1.1-i2v (exactly one public/data-URL first frame), or happyhorse-1.1-r2v (1–9 public/data-URL reference images); current Personal and Team lists include all three. Parameters include resolution (720P/1080P), ratio, duration (3–15 seconds), and output_path. A new high-Credit task passes the permission gate before submission. HiPMMCode reserves a brand-new pinned destination, stores its task_id, polls it, and immediately downloads the short-lived result to a local MP4. Supplying task_id resumes the same task without another paid POST; platform sessions must also pass an explicit output_path, and a scoped recovery_token can recover the rare case where submission succeeded but its private receipt could not be saved. No existing entry, including an empty file, is overwritten.

Speech synthesis

ToolWhat it does
GenerateSpeechNative Qwen Token Plan TTS on either direct Token Plan chat channel—also not a Skill. Reuses the configured sk-sp-... through the official WebSocket and qwen-audio-3.0-tts-plus (Personal and Team). Defaults to the Plus-compatible voice longanlingxin, MP3 at 22050 Hz; supports compatible voices, MP3/WAV/Opus/PCM, volume/rate/pitch, one language hint, and the model's instruction control (100 weighted units). It asks before consuming Credits, streams and validates the complete audio, then capability-atomically saves it to a newly reserved local path. No existing entry, including an empty file, is overwritten.

Multi-agent

ToolKey parameters
AgentSpawn a teammate: name, prompt, agent (profile), provider/model (any channel), background (return immediately with an id), allowed_tools, isolation: "worktree" (own git worktree), effort. A non-empty name creates an addressable resident in the session's implicit team; there is no model-visible team create/delete step.
SendMessageMessage another agent (or the lead) by name
ListPeersList the current session's implicit-team members
AdvisorAsk a stronger model for a second opinion at a decision point (advisorModel)

Task management

ToolWhat it does
TaskCreateAdd a task (subject, description, metadata) to the shared list
TaskList / TaskGetList tasks / read one in full
TaskUpdateUpdate status/owner/dependencies (blocks / blockedBy)
TaskOutputRead a background teammate's output (blocking poll with block_ms)
TaskStopStop a background teammate

Planning & flow

ToolWhat it does
EnterPlanMode / ExitPlanModeRead-only planning phase → present the plan for approval before touching anything
TodoWriteThe agent's own visible todo list (drawn live in the task tree)
AskUserQuestionStructured multiple-choice question to you (supports headless webhook routing)
SleepPause N ms (waiting on background work)

Scheduling & monitoring

ToolWhat it does
CronCreate / CronList / CronDeleteSchedule recurring or one-shot prompts (cron syntax; durable via native .hipmmcode/scheduled_tasks.json + hipmmcode cron daemon; a legacy .claude file is read only when the native file is absent)
ScheduleWakeupSelf-paced wake-up for /loop dynamic mode
Monitor / MonitorList / MonitorStopWatch a long-running command's output stream and get notified per matching line. v0.11.0+: Now reachable on all channels (deferred-tool gate fixed)
PushNotificationSend a terminal/desktop notification

Monitor tool availability (v0.11.0+)

The Monitor tool is now callable on every provider channel. Previously it was hidden on OpenAI/codex paths. The deferred-tool gate now activates only when the deferred pool is genuinely large (≥10% of context window).

Workspace isolation

ToolWhat it does
EnterWorktree / ExitWorktreeSwitch the session into an isolated git worktree (and back, keep-or-remove). Also per-agent via Agent(isolation: "worktree") and manually via /worktree

Knowledge & code intelligence

ToolWhat it does
SkillLoad a skill's full playbook on demand (progressive disclosure — see Skills)
SaveMemoryWrite a durable memory file (see Sessions & memory)
LSPLanguage-server operations: definitions, references, hover, symbols, diagnostics (alias: Lsp)
CodebaseGraphTree-sitter code intelligence without installing rust-analyzer/tsserver: goToDefinition, findReferences, documentSymbol, workspaceSymbol (Rust / TS / JS / Python / Go)
ArtifactPublish / update / list / visibility / delete hosted HTML artifacts (same surface as /publish; see Publishing artifacts)
McpConfigLet the agent add / remove / list MCP servers itself ("connect the Notion MCP server") — mutating changes are permission-gated

MCP (dynamic)

ToolWhat it does
mcp__<server>__<tool>Every tool of every connected MCP server, namespaced
ListMcpResources / ReadMcpResourceEnumerate / read MCP resources
RefreshMcpToolsRe-run tools/list over already-connected MCP servers and publish the changed schemas before the next model request — pick up a server's new/renamed tools without restarting the session. A failed refresh keeps the previous catalog, stale concurrent results can't overwrite newer ones, and a disconnected server is never silently redialed.

Multimodal input

Not a tool, but part of the same pipeline: files you drag, @-mention, or /paste attach to your message. Images are analyzed on vision-capable models; videos on video-capable channels (Gemini, Kimi/Moonshot, …) — the model sees actual frames, not a filename. Inline cap 32 MB (HIPMMCODE_VIDEO_MAX_MB). Non-capable models receive a graceful text placeholder naming which models can view the file.

Tool result truncation (v0.11.0+)

Oversized tool results are now automatically clamped at the dispatch layer to prevent context overflow:

Tool categoryTruncation limit
MCP tools50,000 characters
Bash / PowerShell30,000 characters
Grep / Glob / ToolSearch20,000 characters
Others (default)100,000 characters

When a result exceeds its limit, the overflow is spilled to disk and the tool result includes a pointer to the spilled file that can be read with the Read tool. This prevents a single huge MCP result or shell output from blowing the context window.

Tools that already self-truncate (like Read with line ranges) are left alone.