Pimp My IDEBack to the garage

Terminal IDE / 13 Oct 2026

Terminal session docking bay

Fresh can now pull outside coding-agent sessions into its Orchestrator. The useful trick is not seeing more sessions. It is attaching each one to the right repository, host, authority, and review path.

Fresh 0.5.3Session custodyWorktree placement

The dock crossed an editor boundary

Fresh 0.5.3 adds session import to its Orchestrator. The release says Claude and Codex sessions running outside Fresh can appear in the dock. A user can open one as a workspace or fork a cloud session into a workspace. The same release adds folder moves for workspaces and sessions.[1]

That turns the dock into a session directory. A directory is useful only when each row keeps enough identity to prevent the wrong session from landing beside the wrong code.

A resumable conversation is not a resumable workspace until code placement and authority match.

Put worktrees before tabs

Fresh's Orchestrator already treats each Git worktree as a workspace with its own tabs, terminals, scrollback, branch state, and agent. Background agents keep running while the user moves through the dock.[2]

Session import adds another route into that structure. Before opening or forking a session, record the repository, revision, worktree path, and expected branch. A matching conversation title is weak evidence. The worktree and Git state decide which files the agent can change.

Trust belongs to the folder

Fresh documents three workspace trust levels. Restricted allows system tools on $PATH but blocks project executables, environment activation, and language servers. Trusted allows those tools. Blocked allows none. A user grants trust per folder, and plugins cannot grant it themselves.[3]

That control should travel with the docking record. Importing a session does not answer whether its new folder is restricted, trusted, or blocked. It also does not prove that credentials, network routes, or terminal processes match the session's former environment.

The release exists. Runtime proof is separate

GitHub marks version 0.5.3 as an immutable release at commit 1e2c1b9. Its release page lists 63 assets for Linux, macOS, Windows, FreeBSD, package managers, graphical builds, and source archives.[1]

We fetched the versioned minimal Linux x86-64 musl archive without installing it. The archive measured 5,284,524 bytes, contained four entries, and had SHA-256 0bbc67c88a2564b479838b996921c99a445caa77942837bf159084ff885f4bb8. Its inventory contained a directory, fresh, LICENSE, and MINIMAL-BUILD.txt. We did not run the binary or test session import.

Make the handoff inspectable

A useful import receipt names the session source, product, original session ID, destination repository, revision, worktree, host, trust level, allowed credentials, current process owner, and reviewer. It also states whether the action opened an existing local session, forked a cloud session, or created a new workspace.

Keep that receipt beside the diff. If a session changes placement or authority, write a new receipt. Do not silently inherit the old one.

Session docking manifest

A normal session list shows names and recency. This bay combines source selection, custody fields, route status, and a copyable manifest. It does not inspect Fresh or import a real session.

Session source
Manifest fields
Identity
Placement
Authority
Review
No manifest fields selected

Choose the fields this template must request. No session has been inspected or imported.

TERMINAL SESSION DOCKING MANIFEST
SOURCE_ROUTE=LOCAL_PROCESS
IDENTITY=[REQUIRED]
PLACEMENT=[REQUIRED]
AUTHORITY=[REQUIRED]
REVIEW=[REQUIRED]
SESSION_ID=[REQUIRED]
REPOSITORY_AND_REVISION=[REQUIRED]
WORKTREE_AND_HOST=[REQUIRED]
TRUST_AND_CREDENTIALS=[REQUIRED]
STATUS=TEMPLATE INCOMPLETE / NO SESSION IMPORT EVIDENCE
Nothing copied.

Four checks before attach

01

Match the session

Record the product and original session ID. A title or prompt fragment is not enough.

02

Match the checkout

Record the repository, revision, branch, worktree path, and uncommitted state.

03

Recheck authority

Read the destination folder's trust level. Record credentials, network reach, and process ownership.

04

Name the return path

Attach the diff, reviewer, stop owner, and accept or reject decision to the imported session.

Copy this docking drill

  1. Capture the source product, session ID, source route, and import time.
  2. Capture the destination repository, exact revision, branch, worktree path, and host.
  3. Compare the destination trust level, credentials, network reach, and environment with the source session.
  4. Open the workspace without granting more trust. Inspect the Git status and running process.
  5. Run one harmless read-only command in the intended checkout. Save its output and exit state.
  6. Assign a reviewer and stop owner before the resumed session can change files.

Sources read

  1. Fresh 0.5.3 release and GitHub release API. These records supplied the immutable tag, commit, publication time, asset inventory, session-import notes, file-explorer changes, and checksums.
  2. Fresh documentation: One Editor, Every Worktree. This page describes one workspace per worktree, retained tabs and terminals, background agents, branch state, and resumable sessions.
  3. Fresh documentation: Workspace Trust. This page defines Restricted, Trusted, and Blocked levels, marker detection, environment activation, and the user's exclusive authority to grant trust.
  4. Fresh product page and source repository. These pages document supported platforms, the static-binary distribution, remote workspaces, plugins, language servers, and the GPL-3.0-or-later license.

Evidence boundary: we read the release, product pages, documentation, repository, and release API. We inspected one versioned archive without installing or executing it. The docking bay builds a manifest template. It does not detect sessions, verify workspace trust, run an import, or prove Fresh 0.5.3 behavior.