SHIPPED · v1.17.4

Nested project groups, sidebar search, prompt formatter, and PRO workspace transfer

New

  • **Organize your projects into named groups** — Right-click an empty area in the Projects section to create a group, then drag any project into it. The sidebar header shows the group name with a colored dot, an optional avatar image, and an emoji badge so you can scan dozens of projects at a glance

  • **Nest groups inside other groups** — Drag a group header onto another group to nest it. "Work / Clients / Acme" and "Personal / Side Projects" can live side by side without flattening into a single list. Cycles are blocked automatically so you can't accidentally drag a parent into its own child

  • **Collapse groups you're not using right now** — A chevron next to each group folds it away. The collapsed flag is remembered per group so your sidebar stays calm between sessions

  • **Customise the look of every group** — Each group has its own color, optional avatar (data-URL image), and emoji badge. Right-click a group header to rename, recolor, set an avatar, or pick an emoji

  • **Drag projects across groups freely** — Pick up a project from one group and drop it on another to move it; drop it on the ungrouped area to take it back out. The drop target highlights so you always know where the project will land

  • **Search box at the top of the Projects section** — Start typing and the list filters projects and groups by name in real time. Matches inside collapsed groups auto-expand the parent groups so the result is always visible

  • **Clear-on-Esc** — Hit Escape in the search box to clear the query and restore the full sidebar

  • **One-shot format with `Cmd/Ctrl+Shift+F`** — In the Agent Input overlay, hit the format shortcut and your prompt is reflowed: markdown headers and lists tighten up, fenced code blocks are detected, and any embedded JSON, XML, or HTML inside the fences is reformatted into a clean shape

  • **Auto-format toggle** — A small button next to the format action turns on auto-format-on-edit. Once enabled, large pastes and newline-ended edits are reformatted as you go. The setting is remembered for next time so you don't have to flip it on every session

  • **Smarter handling of partial edits** — Mid-mention (`@file`) and mid-slash-command edits skip auto-format so your autocomplete flow isn't interrupted by a sudden reflow

  • **Move your 1DevTool setup to a new machine** — A new "Export" sub-tab under Settings → General lets you save your project list, project groups, sidebar order, custom themes, Obsidian vault path, and supported workspace preferences as a single `1devtool-config-YYYY-MM-DD.json` file

  • **Import the same file on the destination machine** — The Import flow opens a preview dialog that shows what's in the bundle (projects, groups, themes), flags any local project folders that don't exist on the new machine, and lets you Relink Folder or Skip Project before applying. Replace happens atomically and the app prompts to restart so everything rehydrates cleanly

  • **Secrets stay on the source machine** — License activation, GitHub tokens, global database connections (with passwords), HTTP client tabs (with auth headers), language install caches, and runtime session state are never written to the export file. Only your workspace configuration travels

  • **SSH projects keep their canonical identity** — SSH-mounted projects export the original `ssh://user@host:port/path` identity instead of the temporary mounted local path, so your imported SSH projects still resolve correctly on the new machine

  • **Path warnings before you commit** — The preview dialog calls out missing custom font files, missing SSH key paths, missing AI agent paths, missing Obsidian vault paths, and editor commands that point at absolute paths the destination doesn't have. Hard problems block import; soft warnings let you proceed and repair later

  • **Privacy notice up front** — Both the Export sub-tab and the export confirmation dialog remind you that the file contains project paths, SSH hostnames, and personal workspace metadata, so you treat it like a private config backup

  • **Run OpenCode as a first-class AI terminal in 1DevTool** — Pick OpenCode from the agents grid in the New Terminal dialog and the TUI launches inside your workspace next to your editor, terminals, browser, and database. Mouse, scroll, and full-screen redraws all behave the way they do in a standalone terminal — no more `Cmd+Tab` between OpenCode and the rest of your tools

  • **Slash commands autocomplete in the prompt overlay** — Hit `Cmd/Ctrl+I` on an OpenCode terminal and start typing `/`. The picker now lists every built-in OpenCode command — `/models`, `/sessions`, `/init`, `/themes`, `/connect`, `/share`, `/undo`, `/redo`, `/compact`, `/export`, `/exit`, and the rest — with descriptions sourced from the official OpenCode docs

  • **OpenCode-aware prompt sync** — Typing in the Agent Input overlay and submitting cleanly replaces OpenCode's textarea content without echoing the previous draft, just like Claude/Codex/Gemini already do

  • **OpenCode sessions show up in the Resume dialog** — The Resume dialog now reads OpenCode's local session database alongside Claude, Codex, Gemini, and Qwen. Filter by "OpenCode" or browse by project to find any past chat

  • **One-click resume with `opencode -s <session-id>`** — Picking an OpenCode session spawns a terminal that opens directly into that conversation using OpenCode's native `-s` flag. Reopening the terminal later relaunches into the same session automatically — no stale `--resume` artifacts left in the command

  • **Sync Local pulls OpenCode prompts into Prompt History** — The "Sync local" button in Prompt History and Resume now imports your OpenCode prompts too, so search across every agent's history works the same way

Improved

  • **Better context-menu actions for groups** — Group headers now have a dedicated right-click menu with Rename, Set Color, Set Avatar, Set Emoji, and Delete, mirroring the project right-click menu so the patterns feel consistent

  • **PRO badge in Settings → Export** — The Export sub-tab clearly indicates whether your current install is PRO, with a one-click shortcut to the License tab if it isn't, so the gating is never confusing

  • **Spinner + "Run in background" while exporting** — Exporting all resume sessions now shows a live spinner with an inline "Export is running. You can close this dialog and keep working." banner, plus a Run in background button so the export keeps going while you switch focus

  • **Cleaner cancel handling** — Closing the Resume dialog mid-export no longer surfaces stray errors; in-progress work finishes silently in the background

  • **Preview untracked files without staging them** — Selecting a brand-new (untracked) file in the Git panel used to show "Stage the file to see the diff." It now renders a synthesised diff with every line marked as added so you can review the file's contents before deciding to stage

Fixed

  • Fixed **Prompt History dialog showing empty on macOS builds** — The bundled local database driver was being shipped as a Linux binary, so opening Prompt History on macOS silently produced no rows. The driver is now built per-platform during install, and Prompt History (and the local Resume cache) populate as expected

  • Fixed **macOS packaging step failing on the build pipeline** — The release build now packages and signs cleanly so installers reach the download page on schedule

  • agent_input_prettier_button_to_format_text
    agent_input_prettier_button_to_format_text
  • project_groups
    project_groups