Repository navigation
11_FAQ
Yes. Add a Custom provider with a base URL such as
http://localhost:1234/v1. Any OpenAI-compatible server works, with no
API key if yours doesn't require one. Imza strips a trailing
/chat/completions segment automatically.
Plan offers the model no mutation tools: it can only read, search, ask, and delegate research. It produces a plan document, the contract the following Build turn (editing, writing, shell, todos, build subagents) carries out. Permission grants never override mode restrictions.
Every plan revision is kept for the session, along with the build logs and handoff reports written during it. The side panel's Documents widget lists them all in session order (the newest is marked live); clicking a row opens it in a viewer. See The plan document.
Run /undo. It reverts the last file change the agent made, one file per
press, newest first. A modified file gets its old content back and a
created file is deleted; shell commands the turn ran are not reverted, and
/undo refuses if you edited the file yourself after the agent. See
Undoing a change.
Review requires Git and a project root. Open Imza inside a Git repository and it appears.
Queued messages are sent when the running turn finishes and session
state is idle. If an approval modal is waiting, resolve it first. Esc
cancels the newest queued message.
Yes, automatically on exit and on /new, including todos, mode, title,
and workspace. Restore with /sessions in the TUI or imza --session <id>
from the shell. Permission grants, running agents, and pending modals are
never saved. See Sessions.
Loading is refused while the current session still has pending work.
Finish or interrupt the running turn (Esc) first.
Cost needs known pricing for the model, and the context percentage needs a known context window. A custom or local model that reports neither shows raw token counts instead of a percentage and no cost. Compaction still runs for it: with no reported window it falls back to a conservative default, so a long conversation is still summarized.
Rate-limited requests are retried automatically (at most twice) with a visible countdown, honoring the provider's retry hint. Other failures end the turn with a diagnostic.
Grants are scoped to the current chat session and working directory; they are cleared when you switch sessions, change directory, or exit. Also, some shell constructs (output redirection, dynamic syntax) can never produce reusable grants and ask every time. See Permissions.
Three ways, depending on how long you want the break to last:
- This session. Choose Allow for this session in the approval modal. The grant it installs covers later requests for the same directory or command/subcommand pair, and it is forgotten when the session ends (see Grant lifetime).
-
Every run. Use
/permissionsto add the directory or command to the persistentallowlist. Imza saves it toconfig.jsonfor you; editing that section by hand works too, and both views stay in sync. See Persistent grants. -
Everything, this session.
/autoskips approval prompts until you turn it off; theautobadge on the input box shows when it is on. Hard restrictions still apply (see Skipping approvals). For a headless run, the same switch is--skip-permissions.
No. Plan mode does not offer edit/write tools to the model, and grants cannot re-enable a mode-restricted tool.
Pre-install grants with --allow-dir / --allow-cmd, and optionally use
--skip-permissions to auto-accept remaining ask-decisions for that run.
See Headless mode.
Put them in AGENTS.md (or CLAUDE.md/GEMINI.md) at the project root.
For reusable per-task guidance,
create skills (<dir>/<name>/SKILL.md under (.agents|.claude)/skills/ and
friends) and mention them with $name. See
Skills and instructions.
Headless runs have no approval frontend; a mention whose policy is ask
is refused. Set the skill's policy to allow via /skills first.
Press Ctrl+R in the model picker to re-fetch. Check the API
key and, for custom endpoints, the base URL and that the server is
running. Connection status is shown per connection in /connect.
A main turn requires an active model selection. Open /model and pick
one (you need at least one connection, use /connect).
Run imza --update. Checks happen at most once a day and never install
on their own. See Installation.
Please open an issue for anything new.
Imza is Turkish for signature. It is the engineer's signature as an act of accountability: you sign work you have reviewed and understood, and stand behind it, even when you did not write every line yourself. See Why Imza.