v1.18.4May 13, 2026
PATH Manager, MCP Diagnostic, and Mermaid Drag-to-Pan
PATH Manager, MCP Diagnostic, and Mermaid Drag-to-Pan. This release brings Manage Your PATH From Inside The App, One-Click MCP Diagnostic, Markdown Reader Font Size Controls, Drag-To-Pan In The Mermaid Diagram Lightbox.
Download v1.18.4
The download page always has the newest build; installers for this version are on GitHub.
What changed
New features
9- New System sub-tab under General Settings — Inspect exactly which directories 1DevTool is looking in when it spawns terminals, Docker, Git, and SSH; entries that don't exist on disk are flagged so you can see at a glance why a tool isn't being found
- Add custom PATH entries without touching your shell config — One-click add for any directory you want 1DevTool to look in (e.g. a portable toolchain folder). Entries persist across restarts and feed every terminal and background process the app launches
- Search every PATH directory for an executable — Type a tool name (e.g. docker, node, claude) and 1DevTool scans every directory in your resolved PATH and shows where each match lives, so "is this on my PATH?" stops being a guessing game
- Copy/paste recipes for the terminal — The System tab also surfaces the right Windows (echo %PATH%, where docker) or macOS/Linux (echo $PATH, which docker) helper commands with a copy button, so debugging PATH issues outside the app is one click away
- "Run diagnostic" button on the MCP settings tab — End-to-end checks for every layer between 1DevTool and your AI client's MCP integration (Claude, Codex, Gemini). Each check returns pass / warn / fail with a plain-English detail line, so when MCP "doesn't work" you immediately see which layer broke instead of digging through logs
- One-click fixes for common failures — Checks that have a known remedy include an inline Fix button — restart the MCP bridge, reinstall an AI client's MCP server entry, or open the relevant config file (~/.claude.json, ~/.gemini/settings.json, ~/.codex/config.toml) directly from the diagnostic dialog
- Plus / minus buttons in the markdown reading toolbar — Adjust reading font size live (12–28px), and your choice is remembered across sessions and across both the markdown workspace and the Skills viewer
- Works alongside the existing background and font-family controls so you can tune your reading environment exactly the way you want it
- Click-and-drag anywhere on the diagram preview to pan — On top of the existing scroll-to-zoom and node drag-and-drop, you can now grab empty canvas with the mouse and pull the view around like a normal map UI. A small movement threshold means simple clicks on nodes, links, and right-click menus still behave the way you expect
Improvements
9- Docker Desktop installs are now discovered automatically on Windows — 1DevTool's enriched PATH now includes C:\Program Files\Docker\Docker\resources\bin, cli-plugins, the LOCALAPPDATA\Programs\Docker\... user-install path, and the 32-bit equivalent, so a fresh Docker Desktop install works inside 1DevTool with no manual PATH editing
- Much clearer error when Docker isn't reachable — Instead of a generic "Docker is not available" message, the Docker panel now distinguishes between Docker CLI not found (you need to install or reinstall Docker Desktop) and Cannot connect to the Docker daemon (Docker Desktop is open but the engine isn't ready), and shows the actual underlying error in a scrollable block so you can copy it into a support thread
- Aggressive auto-quoting of rectangle labels — Any rectangle [label] whose content would trip Mermaid 11's lexer (file globs with {md,html}, function-call syntax foo(), pipe |, semicolon ;, comment %%, edge tokens like -->, ==, -.-) is now automatically wrapped in quotes so it renders as plain text. Real shape syntax ([/text/] parallelogram, [\text\] trapezoid, [(text)] cylinder, [[text]] subroutine) is preserved unchanged
- Round-node (label) quoting where it matters — Round nodes preceded by an identifier are also quoted when their content contains hazard characters, while stadium ([x]), circle ((x)), and cylinder shapes are left untouched
- Reader mode now uses the same agent detection the rest of the app does — Combining the startup command, terminal name, content sniffing, and last-resumed-session metadata, so a Claude / Codex / Gemini terminal launched via claude resume or codex resume <id> is recognized correctly and the conversation parsing matches the agent's actual output format
- AI menu "Resume" entry now reads "Resume/Session" — Reflects that this view shows both resumable past sessions and ongoing-session detail, not just the bare "resume" action
- Picking a built-in agent or "custom" now clears the previously-selected preset's command — Switching from a custom preset (e.g. opencode) to Claude or to Custom no longer leaves the old startup command in the input, so the new terminal launches the agent you actually picked
- Retry button when a file fails to load in the IDE — If a read fails (e.g. the file was being atomically renamed by a dev server like Next.js Turbopack rewriting .env), you now get a one-click Retry instead of being stuck staring at the error. Subsequent file-watcher events also auto-retry the read, so the editor self-heals once the file is back on disk
- Image files now load correctly on retry — The editor's retry path also picks up image previews and data URLs, so an image that errored on first open shows up properly after a retry without needing to reopen the tab
Bug fixes
3- Fixed Docker panel saying "Docker is not available" on Windows even with Docker Desktop installed — Windows installs at the default location weren't on the PATH 1DevTool computed for child processes; they now are
- Fixed terminal startup command lingering from a custom preset — Selecting Claude (or any built-in agent) after a custom preset like opencode would silently inherit the preset's command and launch the wrong process
- Fixed .env files showing a permanent read error after a hot-reload rewrite — A failed atomic-rename window during a Next.js / Vite reload would mark the document errored forever; the editor now retries on subsequent watcher events and exposes a manual Retry button as a fallback