Otty 1.6.2 for macOS lets you find earlier coding agent sessions, read their transcripts, and continue work through the agent that owns the conversation. Start with ⌘⇧O, switch to Agents with ⌘G, then search. The instructions below cover the macOS workflow and its search limits.
A terminal tab title is easy to forget. You might remember an error you investigated yesterday, a design choice from last week, or the name of an API that never appeared in the session title. Choosing the right search surface helps you find that context without starting the investigation again.
How do you resume a Claude Code, Codex, or OpenCode session?
Focus a terminal pane in the project where you worked. Open Open Quickly with ⌘⇧O, then press ⌘G for the Agents filter. Type a few words from the session title, move the selection with the arrow keys, and press ↩ to resume the highlighted session.
To inspect it before continuing, press ⌘K on the result and choose View Session History. The actions menu also offers Resume, Copy Project Path, and Copy Session ID. Copying the identifier is useful when two conversations have similar names and you need to distinguish them precisely.
Resume does not always mean opening another terminal. If the session is still running in an Otty tab, the History viewer's Resume button returns you to that live tab. Otherwise, Otty launches a fresh tab using the agent's native resume mechanism. You continue the selected conversation through its CLI rather than replaying the transcript as shell input.
These actions depend on the relevant CLI and its session data being available. A readable transcript alone does not establish that an agent can still continue it. The Agent History documentation describes the viewer and resume controls.
Why is a session missing from the Agents list?
The Agents filter is scoped to the focused pane's working directory. It lists sessions whose project directory contains that directory. A session started in ~/work/store can appear while your pane is in ~/work/store/tests; a pane in an unrelated repository has a different list.
Before changing configuration, check where your focused shell actually is. Return to the project associated with the conversation and reopen the picker. This matters when one window contains several repositories, when a split has a different directory from its neighbor, or when you moved to another checkout for a related task.
Typing in the picker narrows the session list by its searchable title information. Start with one distinctive word rather than an exact sentence. A first prompt may have become the session's title even though the useful discussion happened much later.
If the title still does not match, use the separate conversation search action. The Open Quickly reference explains how its Agents, Opened, Recent, and Current filters differ. A running tab, a recently closed pane, and a saved agent conversation are related things, but each has its own route through the picker.
Can you search inside old agent conversations?
Yes, for supported conversation formats in this version. After typing a query in Open Quickly, choose Search “…” in agent conversations below the session results. It also appears in the All filter. This searches what you and the agent wrote, rather than requiring the query to match the session title.
In Otty 1.6.2, conversation content search covers Claude Code, Codex, Cursor CLI, and pi / omp sessions. OpenCode and Kimi Code are not included in this content search. Their session listing or transcript support should not be read as a promise that every search feature supports their storage format.
Every word in the query must occur somewhere in the conversation; the words need not be in the same message. Tool calls and tool output are excluded. Searching for an identifier that appeared only in a file the agent read, or only in a test command's output, can therefore return no result even when that session handled the file.
For example, try checkout timeout if you remember discussing checkout timeouts. If that fails, reduce the query to timeout. Use words you or the agent actually said. For a compiler error that appeared only in tool output, identify the likely session by title and inspect its transcript instead of expecting conversation search to act as a full terminal-output index.
What does the History viewer show?
The History viewer turns recognized agent session files into a readable transcript. It is useful for checking the last decision, selecting an explanation, or identifying the point where a task stopped before you send another prompt.
The default session locations documented for three common agents are:
| Agent | Default session files |
|---|---|
| Claude Code | ~/.claude/projects/<project>/*.jsonl |
| Codex | ~/.codex/sessions/YYYY/MM/DD/*.jsonl |
| OpenCode | ~/.local/share/opencode/storage/session/<project>/*.json |
Treat these as recognized default layouts, not instructions to rename or move logs. Agents can evolve their storage formats, and installations using custom configuration homes need the matching configuration. In 1.6.2, Settings → Agents includes Config home for an agent whose settings live somewhere else.
Open a transcript through View Session History, the command palette, or the titlebar menu. In the viewer, Page Up and Page Down move through the document; Home and End jump to its ends. You can select and copy content, then return with Resume when you have identified the right conversation.
Recognized locations matter. An arbitrary .jsonl file outside a known agent directory remains plain text rather than automatically becoming an agent transcript. When you need the underlying data, right-click and use View as to switch between the agent history presentation and the raw log view.
Should you view history, resume, fork, or restore a workspace?
Choose the action according to what you want to recover. Reading an explanation, continuing a conversation, exploring an alternative, and reopening a terminal layout solve different problems.
| Your goal | Use | What to expect |
|---|---|---|
| Read the earlier discussion | View Session History | Opens the transcript for inspection |
| Continue the same conversation | Resume | Returns to a live tab or starts the agent with that session |
| Explore another approach from existing context | Branch / Fork | Creates an independent conversation from the original context |
| Reopen a recently closed pane, tab, or window | ⇧⌘T | Restores the recently closed Otty item |
| Bring back your terminal workspace after relaunch | Session recovery | Restores layout and configured session behavior |
Use history first when you cannot remember whether an earlier answer was final. Use resume when the next task depends on that discussion and belongs in the same thread. Use a fork when you want to compare another implementation without adding its future discussion to the original conversation.
Otty labels the action Branch for Claude Code and Fork for Codex and OpenCode. In the Agents picker, select the session, press ⌘K, and choose Branch / Fork in New Tab when offered. The fork and branch guide covers other destinations and the required integration.
A conversation fork is not a Git worktree. Two agent sessions can still edit the same files if they run in the same checkout. If you want independent code experiments as well as independent conversations, arrange separate working directories before starting conflicting edits.
How does agent history differ from shell history and tmux?
Shell history records commands such as cargo test or git diff. Agent history contains the conversation around the work: what you asked, what the agent explained, and the session context the agent's resume mechanism can use. Searching shell commands cannot substitute for finding a conversation about why a change was made.
Likewise, restoring a terminal's layout does not by itself mean every process remained alive. Otty's session recovery can restore windows, tabs, splits, directories, and configured agent sessions. Its tmux recovery can reattach an existing multiplexer session when that session is still available.
Use the session recovery guide to choose restore behavior. If the process itself is inside tmux, the tmux restart explanation helps distinguish reattaching a live server from starting a fresh shell or resuming a saved agent conversation.
For an ordinary continuation, you usually need neither tmux nor a recreated layout: find the saved agent session and resume it. For a multi-pane workspace, recovery handles the surrounding arrangement while the agent handles its conversation.
What should you check when resume does not work?
Start by checking the session identity. Inspect the transcript, project path, and session ID. A similarly named conversation in a different checkout can look correct until you read its last messages. Choosing the intended session is more useful than repeatedly launching a result you have not inspected.
Next, confirm that the agent CLI is installed and works in a normal shell. Resume uses that CLI; the terminal cannot replace a missing executable, repair the agent's authentication, or recreate a log that has been deleted. If the agent reports its own resume error, use that message to narrow the problem.
Check the installed integration when Otty cannot identify a running session or offer the expected actions. After installing or changing an integration, restart the agent so it loads the configuration. The agent setup guide explains the hooks and plugins used by each integration.
If you use a wrapper command or extra global flags, inspect Launch command under Settings → Agents. Otty uses the configured prefix for launches, resume, and fork, then appends the agent's session arguments. A wrapper that works for a new chat but mishandles appended arguments can also interfere with continuation.
Finally, separate a search limitation from a missing session. An OpenCode conversation can be listable even though conversation content search does not cover it in 1.6.2. A message may exist even though your query contains a word found only in excluded tool output. Return to a title search and transcript inspection before concluding the conversation is gone.
How can you make the next continuation easier?
End a work session with a short handoff in the conversation: the problem being solved, the current decision, what validation ran, and what still needs checking. Those words give you useful search terms later, and they help you assess the state of the work before continuing.
For example, ask the agent to summarize an unresolved checkout timeout and name the remaining test. Later, checkout timeout is a more useful query than remembering the date or scrolling through every terminal tab. Keep actual code changes and validation evidence in the repository as appropriate; the conversation is supporting context.
When the next step belongs to the same investigation, resume it. When it explores a competing direction, fork it. For a sequence of follow-up prompts in one live session, the prompt queue guide explains how to prepare the next request while the current turn is running.
Frequently asked questions
Can Otty resume a session after I close its tab?
Yes, when the agent's saved session remains available and its CLI can resume it. Find the conversation in Open Quickly → Agents and choose Resume. Closing a tab and deleting an agent's session data are different operations; this workflow does not recover deleted logs.
Does pressing Resume duplicate an agent that is already running?
The History viewer's Resume button returns to the live tab when Otty finds that session already running. Otherwise it creates a fresh tab with the native resume command. Check the session identity before starting another independent copy yourself.
Does resuming guarantee the same model or provider forever?
Resume continues an existing agent session, but the agent CLI, account availability, provider settings, and installed version govern what can actually run. Otty's session picker does not guarantee that an unavailable model or changed provider configuration will be restored.
Is this a guide to Otty's Windows beta?
This guide covers macOS Otty 1.6.2 and its Mac keyboard shortcuts. It does not establish feature parity with the Windows beta. Check the documentation for your platform before relying on the same menus or shortcuts.
Version and sources
The instructions were checked against Otty's 1.6.2 tag, including its history, Open Quickly, session recovery, and conversation search behavior. The release notes identify that version. The linked Agent History and Open Quickly documentation provides further background, but live documentation and later agent CLIs may describe different session formats or actions.