Tools

jcode comes with a comprehensive set of built-in tools that the agent uses to interact with your codebase and environment. Every tool call is visible to you in the TUI.

How Tools Work

When the agent decides to take an action, it invokes a tool. Each tool call appears in the conversation with:

  • The tool name and key parameters
  • A live indicator while running
  • The result when complete
  ⚙ Tool  edit   path=server.go

  ╭─────────────────────────────────────────────────────╮
  │  - go handle(conn)                                  │
  │  + wg.Add(1)                                        │
  │  + go func() { defer wg.Done(); handle(conn) }()   │
  ╰─────────────────────────────────────────────────────╯
     ✓ Edit applied

Approval & Safety

Not all tool calls require your approval. jcode categorizes tools by risk:

Category Tools Approval
Read-only read, grep, glob Auto-approved (within project)
Safe commands ls, pwd, git status, git log Auto-approved
Management todowrite, todoread, ask_user Auto-approved
Delegation subagent, check_background Auto-approved
Team team_create, team_spawn, team_send_message, team_list, team_delete Auto-approved
File edits edit, write Require approval
Commands execute (non-safe) Require approval
Environment switch_env Require approval

When a tool requires approval, you see a dialog with the tool name and arguments. You can:

  • Y — Approve this action
  • A — Approve all remaining actions (switches to auto-approve)
  • N — Reject

Toggle auto-approve mode with Ctrl+A. When enabled, all tool calls are approved automatically. Use with caution.

Tool Inventory

Tool What It Does
read Read file contents with line numbers. Also lists directories.
edit Make precise string replacements in files. Supports multi-edit mode.
write Write or overwrite file contents.
execute Run shell commands. Background mode for long-running tasks.
grep Search for patterns across your codebase. Uses ripgrep when available.
glob Find files by name pattern.
todowrite Manage a live task list.
todoread Read the current task list.
subagent Delegate a task to a child agent.
check_background Check status of background tasks.
ask_user Ask the user a question with optional choices.
switch_env Switch between local and SSH environments.
load_skill Load a skill’s full instructions.
MCP tools Dynamically loaded from configured MCP servers.

Table of contents