Skip to content

What it asks before doing

Every one of the 175 tools carries a posture, and every call is judged against it before it runs. This page is generated from the configuration itself rather than described, because a description of it kept being wrong.

These are the shipped defaults. What you can change lives in a config file you own once TESSERACT is installed, so your copy may differ, and should, once you tune it.

What stops and asks

These 47 tools prompt every time they are used:

Tool
agent_create
agent_promote
api_request
bash
breaker_reset
browser_fill_form
browser_key
browser_select
clock_set_zone
command_run
context_set
credential_setup
delegate_auditor
delegate_coder
email_reply_message
email_send_message
file_copy
file_delete
file_move
file_write
folder_access
git (except branch, diff, log, show, status on the open project)
image_generate
os_launch
pipeline_run_stage
project_budget
project_focus
project_forget
project_link
project_new
project_propose
project_root_relocate
project_set_state
retention_set_window
schedule_create
schedule_remove
schedule_run
schedule_update
screen_look
session_continue
skill_create
skill_refine
task_close
task_propose
task_settle
workspace_decide
workspace_hold

What runs without asking

The remaining 128 run automatically. Most are reads — searching memory, listing a directory, looking something up. Some are not, and those are the ones worth knowing about: sending on a channel you connected, searching the web, writing to the assistant’s own memory. Setting those up was the decision; being asked again each time would be noise.

Two things that surprise people

Read-only commands do not prompt, where they read. 10 command patterns, running the tests and asking git what changed, are allowed in every mode. A prompt for git status is noise, and noise is what teaches people to click through prompts without reading them. The command being a read is not the whole answer though, because a read still reads whatever it is pointed at: the folder it is given to run in, and any argument naming a place of its own, are held to the same limits as a file the assistant opens. Pointed outside those, it asks you like anything else.

There is more than one mode. The shipped default is max, and there are 2 in total. The other is free, for unattended work: the assistant acts without asking, apart from a short list of tools named as still asking. It is not the default and turning it on is a deliberate act. It cannot reach a tool set to deny or the path rules below. It reaches one thing in the shell check list: the one-liner check, which asks in the default mode and runs unasked here, because a prompt nobody is there to answer is a refusal on a timer. The rest of that list is refused outright in this mode rather than asked, for the same reason.

Paths beat tools

A tool’s posture is not the last word. Path rules apply on top, and they can refuse what the tool alone would allow — the assistant cannot write to its own permissions file, to the runtime’s source, or to .env, whatever file_write says. See config/permissions.yaml for the full list; it ships with the app.

TESSERACT v1.1.3 — documentation built 9 Oct 2026