Skip to content

v1.8.8

Choose a tag to compare

@github-actions github-actions released this 02 Oct 16:16
· 77 commits to master since this release

v1.8.8 — Copy from the terminal, PowerShell on Windows, and terminals that come back where you left them

You can copy and paste in the terminal again. On Windows, the plain terminal opens PowerShell. When you reopen the app, a terminal comes back in the folder you left it in, and agents resume their conversation instead of starting over. Files can be dropped onto an agent to ask about them. Running several Control Code windows at once no longer breaks your git account or the database.


📋 Copy and paste in the terminal

Action Windows / Linux macOS
Copy Ctrl+C with text selected, Ctrl+Shift+C, Ctrl+Insert ⌘C
Paste Ctrl+Shift+V, Shift+Insert ⌘V
  • Ctrl+C with nothing selected still interrupts the running program, as always.
  • Ctrl+V is left to the TUI, since Claude Code uses it to paste images.
  • Right-click the terminal for Copy, Paste, Select all and Clear.
  • Selecting text over a TUI that captures the mouse (Claude Code, OpenCode): hold Shift while dragging. On macOS, ⌥ works too.

Since 1.8.5 there was no way to copy from the terminal at all. That's fixed.

🪟 PowerShell on Windows

On Windows, the plain terminal used to run bash, which is WSL's launcher: it opened WSL if installed and failed otherwise. Now:

  • It opens PowerShell 7 (pwsh) if installed, or Windows PowerShell otherwise.
  • This applies to terminals you already had saved too.
  • PowerShell saves your command history as you go, so it survives a restart.

🔁 Reopening the app

The plain terminal:

  • It comes back in the folder you last cd'd into, not the workspace folder. On Windows, PowerShell reports its folder at every prompt. Linux and macOS ask the system.
  • What was on screen before is shown again, under a "Session restored" line, so it's clear where the new shell starts.

Agents resume their conversation instead of starting over. Several bugs caused fresh sessions:

  • Claude Code sometimes recorded a subagent's transcript (agent-…) as the session, and --resume couldn't find it.
  • Custom TUIs started before Control Code knew how to resume them.
  • If an agent got no message in its first ~26 minutes, Control Code stopped looking for its session. It now keeps looking, and makes a last attempt when the app closes.
  • On Windows, Codex, Gemini, OpenCode and Kimi didn't recognize the same folder written differently (case, slashes, \\?\).

Running processes still end when the app closes, as in VS Code.

📎 Drop files onto an agent

Drag files or folders onto an agent's terminal, either from your file manager or from the file tree. The terminal is highlighted while you're over it.

  • The agent gets a mention in its input, without sending it, so you can type your question: @src/app.ts, or @../lib/x.rs for files outside its folder.
  • A plain terminal gets the quoted paths, like any shell.

🪟🪟 Several Control Code windows at once

  • "Session expired" on your git account. GitHub replaces the refresh token each time it renews access. One instance renewing left the others holding a dead token. Now an instance checks the system keychain before renewing, and uses the token another instance already renewed.
  • "Database is locked". Two instances writing at the same time made one fail. Now writes wait their turn, and two instances starting at once (for example, the one restarting after an update) no longer run the same migration twice.