When an agent runs headless inside the IDE, the Agent Log tab is its face. One log per change, spanning every run of it; it streams while the agent works, stays open when it stops, and is persisted so you can reopen it later.

add-full-text-listing-search · Running · 2. Search API · 01:15 · ● Claude Code

Change name, run state, the task (or propose, refine, sync-and-archive), elapsed time, and the agent profile. Hovering the profile chip shows the tokens used in this session where the agent reports them. While a turn is active, the header has Stop.

Below it, a session chip answers the question you’ll ask before every run: Live session — the next run continues this conversation, No live session — the next run starts a new conversation, or Conversation ended. See Stop versus End session.

What the cards mean

Everything the agent does becomes a card, in order, as it happens:

  • PROMPT — what SpecBuddy sent: the task section, the refine with your comments, or your chat message. Your own messages are attributed to you.
  • Agent text — rendered Markdown, no chrome.
  • Reasoning — a Thinking… indicator while it thinks. The content is not shown; the log tells you the agent is working, not what it is pondering.
  • READ — file reads and searches, grouped into clickable chips (open the file at the line).
  • EDIT — a condensed diff of the change: a few lines of context, red and green. Open file jumps to the result; Full diff opens the IDE’s diff viewer.
  • TERMINAL — the command, its exit status, and Show output.
  • Sub-agent — a status card for a task the agent delegated to a sub-agent.
  • SkillLoaded skill: when the agent pulls in a skill.
  • Plan — when the agent publishes a plan of its own, it renders as a collapsible strip above the feed with the steps ticked off as it goes.
  • Activity row — pinned at the bottom while a turn runs: Reading files…, Editing files…, Running: ./gradlew test. Always tells you what the agent is doing right now, even when the feed above is quiet.

New cards never steal your scroll position: if you scrolled up to read, the feed grows below you; if you were at the bottom, it follows.

The log is text — select it, copy it, Find in it (Ctrl/Cmd+F), and open its Structure view for a card-by-card outline.

Asks: permissions, questions, forms

When the agent needs you, a card appears in the log and the IDE notifies you (SpecBuddy: The agent asks a question / Permission requested). The Explorer icon switches to awaiting input.

  • PERMISSION — the agent wants to run a tool: the tool, its input, and the buttons the agent itself offers — Allow once, Allow for session, Reject, in the agent’s own words. Allow for session approves exactly this tool with this input for the rest of the session (approving one git status does not approve every later command). What is allowed is listed under Allowed for this session.
  • QUESTION — a multiple-choice question; pick an option, or type into Other when the agent allows it.
  • Form — several fields at once, with choices and free text; Submit or Decline.
  • PLAN REVIEW (Codex) — the agent’s plan for the task; approve it, or Send feedback to have it revised first.

Answered asks stay in the feed as history (PERMISSION · ANSWERED). A blocking question can also arrive as The agent is waiting for your answer with a free-text reply — answer in the chat box.

To stop being asked about routine edits and commands, switch the permission mode in the composer (see below) or turn on Always run the agent in auto mode in Settings.

Chat

The box at the bottom — Message the agent — Enter to send, Shift+Enter for a new line — talks to the same conversation the run used. The agent knows the change, the task it just did, and everything above in the log.

What you can do from chat:

  • Ask. Why did you choose a native query over JPQL? — a plain reply, nothing changes.
  • Request changes to the code. Also add an index on the created_at column. — the agent edits; the run under review is upgraded in place, so the Cockpit’s diff and the review now include this turn. No new session, no second review to reconcile.
  • Request changes to the documents. Treated as a refine of the proposal or tasks; the change’s history records it.
  • Run a task. Run task 3 or do the next step — SpecBuddy recognises the request and launches it through the normal pipeline, with the snapshot and review a Cockpit click would give. Naming a completed task re-runs it.

Pending review comments ride along: if you have inline comments the agent hasn’t seen, they are attached to your message (the list is shown next to the box; click a comment to exclude it).

Sending while a turn is active queues the message — Message queued — delivered when the current turn ends — and delivers it as the next turn. If the conversation dies before then, the message is dropped rather than sent into a fresh session that never saw its context.

The composer’s controls

Three dropdowns sit under the text box, and they change the current session without touching your settings:

  • Agent — the profile for the next run. Switching agents starts a new conversation; the log says so with a seam.
  • Permission mode — the agent’s own modes, as its CLI names them. Applies immediately.
  • Model and effort — the agent’s model list, plus Custom model… for an id the list doesn’t know. Applied to the live session; if the agent rejects the model, the run closes with an error card that lets you pick another or Edit profile.

The menu holds the rare session actions. Fork session to terminal opens an IDE terminal running the agent CLI resumed on this very conversation, in parallel with the log — for when you want the raw CLI for a while. Only agents whose CLI supports resuming a session offer it.

Stop versus End session

These are different, and the difference is the conversation.

  • Stop (header, while a turn runs) cancels the current turn. The run is recorded as interrupted, the conversation stays live, and the session chip still says Live session. Tell the agent what went wrong in chat, then Resume. This is the normal way to correct course.
  • End session (composer) ends the conversation. The log freezes with a note in the feed, and the next run starts from scratch — the new agent will not see anything above. Use it when the conversation has gone off the rails, or to switch to a fresh context deliberately. A confirmation asks the first time.

A session also ends by itself when its agent process dies or when the IDE closes; the chip tells you.

Reopening a log

Logs persist per change. Show Agent Log in the Spec Explorer’s context menu, or Open log in the Cockpit, reopens the last one for the change — after a restart, or after the change is archived. A reopened log of an ended session is read-only; its chat box explains that the next run starts a new conversation.