Features

Verified for v0.4.4 on

Agent Tool Loop

When tools are enabled, the model can ask Sythoria to run a tool and use the result in its next request. The loop stops when the model answers, you stop it, an approval is rejected, or the configured step limit is reached.

The step limit can be set from 1 to 25 under Settings > Chat Configuration.

Tools that may be available#

The exact list depends on your settings and the active conversation:

  • web search and page fetching;
  • read_skill for the shared skill catalog;
  • selected MCP tools;
  • project file, search, Git, and shell tools; and
  • subagent tools.

Read-only calls may run at the same time when they do not share a mutation boundary. File changes and other mutations are queued so they do not race each other.

Project approvals#

Read-only project tools can run under Read permission. Write permission adds file changes and Git commits. Before a write or commit runs, Sythoria shows the proposed operation for approval.

The first approved write is made in an isolated Git worktree. When the run finishes, use the Review panel to inspect the complete diff and choose Apply or Discard. The main working tree is not changed until you apply the worktree.

Full permission adds project_bash and skips the frontend approval used for ordinary write tools. Every shell command still receives a native confirmation dialog from the Rust backend.

MCP approvals#

An untrusted MCP server requires a separate native approval for each call. That approval is single-use and expires after 60 seconds. A trusted server can run without this prompt.

Context and large results#

Sythoria reserves room for model output and tool definitions before assembling the request. Large tool results can be summarized, and older messages can be omitted or condensed when the configured context window is full. The transcript stored in the conversation is not rewritten. The chat shows a notice when a request used condensed context.

See Context & Subagents for the limits and disclosure behavior.

Stop and recover#

Stop the run if a command, path, or network request does not match your task. Do not approve cleanup commands just because an earlier step failed.

For project work, open Review and inspect every changed file. Apply the worktree only after the diff and relevant tests make sense. If you discard it, the worktree and its branch are removed without merging those changes into the registered project.