Skip to content
Umut Sevdi edited this page Oct 24, 2026 · 3 revisions

Frequently Asked Questions

Getting Started

Can I Use a Local Model?

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.

Modes and Workflow

What Is the Difference Between Plan and Build?

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.

Where Do I Find My Previous Plans?

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.

The Agent Changed a File It Should Not Have

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.

Why Is the Review Tab Missing?

Review requires Git and a project root. Open Imza inside a Git repository and it appears.

My Queued Message Never Got Sent

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.

Sessions

Are My Conversations Saved?

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.

Why Can't I Load a Session Right Now?

Loading is refused while the current session still has pending work. Finish or interrupt the running turn (Esc) first.

Models and Cost

The Status Line Shows No Cost / No Percentage for My Model

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.

A Provider Request Failed with a Rate Limit

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.

Permissions

Why Does Imza Ask Again for Something I Already Approved?

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.

How Do I Stop Approving the Same Thing Every Run?

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 /permissions to add the directory or command to the persistent allow list. Imza saves it to config.json for you; editing that section by hand works too, and both views stay in sync. See Persistent grants.
  • Everything, this session. /auto skips approval prompts until you turn it off; the auto badge 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.

Can a Directory Grant Make Plan Mode Edit Files?

No. Plan mode does not offer edit/write tools to the model, and grants cannot re-enable a mode-restricted tool.

How Do I Run Imza from a Script Without Approval Prompts?

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.

Skills and Instructions

How Do I Teach Imza My Project's Conventions?

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.

My $skill Mention Failed in a Script

Headless runs have no approval frontend; a mention whose policy is ask is refused. Set the skill's policy to allow via /skills first.

Troubleshooting

The Model List Is Empty or a Connection Shows ✗

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.

The App Says "No Model Selected, Run /model"

A main turn requires an active model selection. Open /model and pick one (you need at least one connection, use /connect).

Imza Found an Update, How Do I Install It?

Run imza --update. Checks happen at most once a day and never install on their own. See Installation.

Something Looks Like a Bug

Please open an issue for anything new.

About

Where Does the Name "Imza" Come From?

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.

Clone this wiki locally