Tools
The agent does its work by calling tools. Each call shows up as a row in the transcript and goes through the permission checks. Use these names in permission rules (Bash(npm test:*), Read(.env)), hook matchers (Edit|Write) and --tools lists.
“Asks” below means the call needs approval in default mode; other modes and rules change that.
Files
| Tool | Does | Asks |
|---|---|---|
Read | Read a file (text, images, PDFs, Jupyter notebooks), with optional line range. | No |
Write | Create a file, or replace one the agent has read. | Yes |
Edit | Replace an exact piece of text in a file the agent has read. | Yes |
MultiEdit | Several edits to one file in a single step. | Yes |
NotebookEdit | Replace, insert or delete a cell in a Jupyter notebook. | Yes |
Glob | Find files by name pattern (**/*.test.ts). | No |
Grep | Search file contents with regular expressions; skips git-ignored files. | No |
LS | List a folder as a tree. | No |
Lsp | Code intelligence from a language server: diagnostics, definitions, references, symbols, call hierarchy. | No |
File tools only write inside your working folders, and the agent must read a file before editing it (safety nets).
Shell
| Tool | Does | Asks |
|---|---|---|
Bash | Run a shell command. Can run in the background; the working folder carries over between calls. | Yes (read-only commands such as ls or git status may not) |
PowerShell | Run a PowerShell command (Windows). | Yes |
ShellOutput | Read new output from a background command. | No |
ShellKill | Stop a background command. | No |
Monitor | Start a watcher command whose new output streams to the agent (waiting for a build, tailing a log). | Yes |
REPL | Run a short, stateless snippet in Python, Node, Ruby, Bash or Deno. | Yes, when it touches files, processes or the network |
Command timeouts default to 2 minutes and can go up to 10 (BASH_DEFAULT_TIMEOUT_MS, BASH_MAX_TIMEOUT_MS). Output beyond 30,000 characters is cut, with the full text saved to a file the agent can read.
Web
| Tool | Does | Asks |
|---|---|---|
WebFetch | Fetch a URL and read it. | Yes (allow hosts with WebFetch(domain:…)) |
WebSearch | Search the web (DuckDuckGo, or Brave Search with BRAVE_SEARCH_API_KEY). | Yes |
Planning and tracking
| Tool | Does | Asks |
|---|---|---|
TodoWrite | Keep the visible task checklist (Ctrl+T). | No |
TaskCreate, TaskGet, TaskList, TaskUpdate | Create and track tasks. | No |
TaskOutput, TaskStop | Read the result of, or stop, a background task. | No |
EnterPlanMode, ExitPlanMode | Switch into plan mode, and present a plan for your approval. | Exiting asks you to approve the plan |
SavePlan | Save a finished plan to your plans folder (it can write nowhere else). | No |
AskUserQuestion | Ask you a multiple-choice question. | It is the question |
StructuredOutput | Return the final answer as JSON (used with --json-schema). | No |
Brief | Summarize a piece of content. | No |
Agents and automation
| Tool | Does | Asks |
|---|---|---|
Agent | Start a subagent, in the foreground or background. | No |
SendMessage | Message a running or finished subagent or teammate, or (main session only) another Syntic session on this computer by handle or name (messaging). | No |
TeamCreate, TeamDelete, ListAgents | Run an agent team. ListAgents also lists your other live sessions. | No |
Workflow | Run a planned set of subagent steps in parallel. | No |
CronCreate, CronList, CronDelete | Schedule prompts in this project. | No |
EnterWorktree, ExitWorktree | Move the session into or out of a git worktree. | Yes |
Skill | Run a skill or custom command. | No (the skill’s own tools are checked) |
ToolSearch | Load tool descriptions on demand when many tools are connected. | No |
Sleep | Wait briefly (up to 5 minutes) without holding a process open. | No |
MCP
| Tool | Does | Asks |
|---|---|---|
mcp__<server>__<tool> | A tool from a connected MCP server. | Yes |
Mcp | Runs one MCP server tool, given the server, the tool and its arguments, for MCP tools that are not offered under their own names (for example when tool search keeps them out of the list). | Yes |
ListMcpResources, ReadMcpResource | List and read resources a server offers. | No |
An MCP server gets 30 seconds to answer its handshake (MCP_TIMEOUT, in milliseconds, or SYNTIC_MCP_TIMEOUT for start-up). Tool calls have no practical limit unless you set MCP_TOOL_TIMEOUT; calls to remote servers give up after 5 minutes without any reply (SYNTIC_MCP_TOOL_IDLE_TIMEOUT, 0 turns that off). A long call moves to the background after 120 seconds (SYNTIC_MCP_BACKGROUND_AFTER_SECS). See Environment variables.
Session and settings
| Tool | Does | Asks |
|---|---|---|
Config | Read or change a setting by key. | Yes; changing permission, auto mode, sandbox or hook settings always asks |
PushNotification | Send you a desktop notification. Stays on your computer. | No |
SendFeedback | Prepare a feedback draft, which you see under /feedback. Never sent anywhere. | No |
EndConversation | End a conversation that has become persistently abusive. Rarely used; /clear starts a new one. | No |
Opt-in tools
These are off unless you turn them on in your own user settings.
| Tool | Turn on with | Does |
|---|---|---|
Advisor | /advisor on or SYNTIC_ENABLE_ADVISOR=1 | Ask a second model for advice on a hard decision. |
Browser | "browserAutomation": { "enabled": true } | Control a local Chrome with its own temporary profile: open pages, read them, click and type. |
ComputerUse | "computerUse": { "enabled": true } (macOS) | See the screen and use the mouse and keyboard. A notification and the footer say when Syntic Code is controlling your computer; every action asks in default mode. |
Limit the built-in tools for a run with --tools "Read,Grep,Glob" (or "" for none), or block some with --disallowed-tools. SYNTIC_SIMPLE=1 keeps only the core file, search and shell tools.