{"slug": "show-hn-env-tabs-pin-your-projects-in-claude-desktop-s-code-tab", "title": "Show HN: Env-tabs – Pin your projects in Claude Desktop's Code tab", "summary": "A developer released env-tabs, a plugin for Claude Desktop that adds a Projects pane and per-project tabs above the prompt so users can pin frequently used folders at the top of the Code tab's sidebar, which otherwise sorts folder groups only by recent activity or A to Z. The plugin, installed via `/plugin install env-tabs --marketplace ahmtsahin/claude-env-tabs` or through the desktop app's Plugins menu, shows live session states (waiting, unread, running, idle) refreshed every few seconds and counts sessions needing attention on each project row and tab. It was built and tested on Windows 11 with Claude Desktop (Claude Code engine 2.1.299); the same code runs on macOS but has not been tried on a Mac, and it requires Claude Desktop with mod support.", "body_md": "A **Projects pane** with your pinned projects on top, **live session states** like the sidebar's dots,\n\nand a **tab above the prompt** for every project you pin.\n\n<sub>Demo projects. The pictures are drawn by [docs/demo/render.mjs](https://github.com/ahmtsahin/claude-env-tabs/blob/main/docs/demo/render.mjs) with the mod's own icons and colors.</sub>\n\nThe Code tab's sidebar sorts its folder groups by itself, by recent activity or A to Z, and there is no way to keep the projects you use most at the top. Plenty of people have asked for one, on Windows and on macOS: [#70104](https://github.com/anthropics/claude-code/issues/70104), [#66196](https://github.com/anthropics/claude-code/issues/66196), [#102088](https://github.com/anthropics/claude-code/issues/102088).\n\nNeither a mod nor Claude can pin a folder group in the app's sidebar, so **env-tabs** draws a Projects pane of its own beside the conversation, and tabs above the prompt. Your sessions are not moved or filed anywhere: the app's sidebar stays exactly as it is.\n\n- **Pinned projects stay on top** , in the order of their tabs. Every other recent project follows, the latest first.\n- **Every project has an icon** : its first letter on a color of its own, which a rename keeps. The project you are in is highlighted.\n- **Click a project** to show or hide its sessions,**click a session** to open it.\n- **Point at a project's row** for**+ New** , which starts a session in that folder, and**Pin** or**Unpin** .\n- **Projects are folders, like in the sidebar** : a project inside a pinned folder keeps its own row, and a session in one of a repository's worktrees is listed under the repository.\n- **This computer** gathers the sessions you started without choosing a folder.\n\n|  | State | What it means | \n|---|---|---|\n|  | **Waiting for you** | The session needs a permission or an answer. | \n|  | **Unread** | It finished after you last looked at it. | \n|  | **Running** | Claude is working; the dot pulses. | \n|  | **Idle** | Nothing new. | \n\nA project's row and its tab **count the sessions that need you**: the ones waiting for you or unread, in amber while one waits. A project with a session running and nothing to count shows the running dot. The states refresh every few seconds, and the session you are in is never shown as unread.\n\n- **One click opens the project's latest session** , or starts one in its folder when it has none yet.\n- The tab of the project you are in is filled, and every tab carries the project's icon and its count.\n- In a project you have not pinned, **+ Pin this folder** pins it right there;**Projects** opens the pane.\n\nAt the prompt of a terminal session:\n\n```\n/plugin install env-tabs --marketplace ahmtsahin/claude-env-tabs\n```\n\nOr from a shell:\n\n```\nclaude plugin install env-tabs --marketplace ahmtsahin/claude-env-tabs\n```\n\nAnswer `y` to add the marketplace and pick the **user** scope, so the pane and the tabs show in every session.\n\nIn the desktop app, where `/plugin` does not run: click **+** next to the prompt box, then **Plugins**, **Add marketplace** with `ahmtsahin/claude-env-tabs`, then **Add plugin**.\n\nNote\n\nRequires Claude Desktop with mod support. Built and tested on Windows 11 with Claude Desktop (Claude Code engine 2.1.299). macOS runs the same code, opening sessions with `open` instead of `rundll32` and reading the session states from `~/Library/Application Support/Claude`; the tests cover both, but it has not been tried on a Mac yet.\n\n- **The pane opens by itself** when the window has room beside the conversation. Otherwise click**Projects** above the prompt, or run`/env-tabs panel` . Close it and it stays closed in later sessions until you open it again.\n- **Pin a project** with**Pin** on its row in the pane, or**+ Pin this folder** above the prompt in one of its sessions.\n- **Or just ask Claude** :*\"pin this project\"* ,*\"move orbit-api to the first tab\"* ,*\"unpin lumen-docs\"* .\n- **Or use the command** :\n\n| Command | What it does | \n|---|---|\n| `/env-tabs` | Lists the pinned projects | \n| `/env-tabs pin [folder]` | Pins this session's project, or the folder given | \n| `/env-tabs unpin <n>` | Unpins tab `n` (or the tab with that label) | \n| `/env-tabs move <n> <to>` | Moves tab `n` to position`to` , in the pane too | \n| `/env-tabs rename <n> <label>` | Renames tab `n` and its project in the pane | \n| `/env-tabs panel` | Opens the Projects pane | \n| `/env-tabs status` | Shows what env-tabs sees, and where it reads the states from | \n\n- **Projects are folders.** A session is listed under the folder it runs in, as in the sidebar, so pinning`D:\\Code` does not gather`D:\\Code\\api` under it. Pin that one too.\n- **This computer.** A session started without a folder runs in a scratch folder the app makes for it. The pane lists all of them in one row at the bottom of Projects; there is no folder to start a session in or to pin, so that row has no**+ New** or**Pin** .\n- **Recent sessions only.** env-tabs reads your 60 most recent sessions, since the app caps the session list it hands to a mod. A project with no session among them is listed once you pin it, and the pane shows up to 5 sessions per project.\n- **New sessions.****+ New** and a tab with no session open the app's documented link,`claude://code/new?folder=...` . The app asks you to confirm the folder each time (**Trust workspace** ), since it does not trust a folder that comes from a link. Now and then it still starts the session in a new scratch folder; its Environment card then shows**Choose folder…** , so choose the folder there before you send the first message.\n- **Per computer.** Pins are kept on the computer where you made them.\n\nEverything stays on your computer: env-tabs makes **no network requests**.\n\n|  | What | Why | \n|---|---|---|\n| **Reads** | The app's session list, through the app's own local tools | The projects and their sessions | \n| **Reads** | Each running session's file in `~/.claude/sessions` | Busy, idle, or waiting for you | \n| **Reads** | The desktop's record of each session | When you last looked at it, when it last did something | \n| **Runs** | `rundll32 url.dll,FileProtocolHandler claude://…` on Windows,`open claude://…` on macOS | Opening a session, or starting one in a folder | \n| **Keeps** | Your pins, and which projects you folded, in the plugin's own store | So they are there in the next session | \n\n```\nclaude plugin validate .\nclaude plugin test .\n```\n\nTo run a working copy, start a session with `claude --plugin-dir <this folder>`, or name the folder in `CLAUDE_CODE_PLUGIN_DIRS`. The pictures in this README are drawn by `node docs/demo/render.mjs`.\n\nIssues and pull requests are welcome.\n\n**If env-tabs saves you a few clicks a day, a ⭐ helps other people find it.**", "url": "https://wpnews.pro/news/show-hn-env-tabs-pin-your-projects-in-claude-desktop-s-code-tab", "canonical_source": "https://github.com/ahmtsahin/claude-env-tabs", "published_at": "2026-10-18 01:44:24+00:00", "updated_at": "2026-10-18 02:09:45.330575+00:00", "lang": "en", "topics": ["ai-tools", "ai-products", "developer-tools"], "entities": ["env-tabs", "Claude Desktop", "Claude Code", "Anthropic", "ahmtsahin", "Windows 11", "macOS"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-env-tabs-pin-your-projects-in-claude-desktop-s-code-tab", "markdown": "https://wpnews.pro/news/show-hn-env-tabs-pin-your-projects-in-claude-desktop-s-code-tab.md", "text": "https://wpnews.pro/news/show-hn-env-tabs-pin-your-projects-in-claude-desktop-s-code-tab.txt", "jsonld": "https://wpnews.pro/news/show-hn-env-tabs-pin-your-projects-in-claude-desktop-s-code-tab.jsonld"}}