Repository navigation
[Feature]: Per-project default browser profile (so agent-opened tabs use the right profile) #18004
Replies: 6 comments
|
Also posted in Discussions → Ideas, since that's where the issue templates point feature requests: #13255. Happy for either one to be closed in favour of the other. |
TriageConfirmed against current What the code does
Both hand-opened tabs and agent opens go through that helper:
Project settings do not store a profile. Cookies are partitioned by environment plus profile ( The toolbar already names the profile, and only when the tab's profile differs from the resolved global default ( Related work, not this request
Next stepKeep this issue as the tracker for a per-project default profile. A useful shape:
Until then, set the global default under Settings → Integrations → Browser before the agent opens a new tab, or open the tab from the profile submenu. An existing tab stays on the profile it was created with. |
|
+1. Same need here, with one extra wrinkle: I'd like to set the default by repository owner, not just one project at a time. All of my
This matters even more with remote environments. Agents there use the server browser, so the profile choice decides which signed-in sessions an agent can reach (see #16180). Picking the wrong profile means acting in the wrong account. |
|
I also need this for daily work across several companies and projects. I use the same services with different accounts for each company. When I switch projects, I keep having to sign in again or change accounts. I would like to assign a persistent browser profile to each project, then sign in once in that profile and keep its cookies and sessions for later work, subject to the service's normal session expiry. For example, Project A should open the service with Company A's account, while Project B should open the same service with Company B's account. The important part is that agent-opened tabs use the assigned project profile automatically, including in new threads and worktrees. Explicit profile selection helps, but it still requires me to tell the agent which profile to use each time. A project setting would make that choice clear and consistent and reduce both repeated sign-ins and actions in the wrong account. Is this still something the maintainers would consider? A per-project choice of an existing profile would already solve my main use case. |
|
+1. I keep a separate persistent profile for each client I work with, each signed into that client's accounts. My projects map one-to-one to clients, so a per-project default would stop links and agent tabs from opening in the wrong profile. Two related asks:
|
|
+1. I also need a global default browser profile for most projects, with a different default for a specific project. On T3 Code Desktop For example, most projects should use Profile A, while one project should automatically use Profile B. A project-level selector with “Use global default” or a specific existing profile would solve this, including for agent-opened tabs. Manually choosing a profile for an individual tab helps, but it does not provide a persistent project default. Posted with assistance from Codex (gpt-6.1-sol). |
Uh oh!
There was an error while loading. Please reload this page.
Before submitting
Area
apps/web (Settings → Browser) and the agent browser/preview tools
Problem or use case
Browser profiles are a great addition. I use them to keep two worlds apart: one profile is logged into my work accounts and one is logged into my personal/client accounts. Mixing them up means signing into the wrong account or giving an agent access to the wrong world.
The problem is that the profile a new tab uses is decided by a single global setting (
browserDefaultProfileId, set with "Set as default" in Settings → Browser). When an agent opens a browser, it always gets that one profile, whatever project the thread belongs to.In practice:
preview_open,preview_navigate, …) don't accept a profile.Proposed solution
Let a project (workspace root) set its own default browser profile:
browserDefaultProfileId→default.profileIdonpreview_open, so agents or skills can ask for a specific profile explicitly. If the requested profile doesn't match the project's profile, it's reasonable to show a warning or refuse.A simpler first step that would already solve most of this: store an optional
browserProfileIdon the project and use it instead ofbrowserDefaultProfileIdwhen a thread in that project opens a tab.Why this matters
Profiles exist to keep cookies and logins separate. Today the separation only holds if the user remembers to flip a global setting, and agents open tabs without asking, so the risky moments are exactly when nobody is watching. A per-project default makes the safe behaviour automatic. It matters most for people who do client or freelance work next to a day job, or who run several clients in parallel.
Environment
T3 Code (Nightly) 0.0.43-nightly.20260922.2123, macOS.
All reactions