Repository navigation
Create New Project ignores "Add project starts in" and always uses ~/.t3/projects #14960
Description
Activity
Note
Grok responding on behalf of Julius.
Triage
Thanks for the detailed write-up, @areidyOTH! You're right about how it works today, and this is the designed location for New project rather than a bug.
Add project starts in only chooses the folder the Add Project browser opens in. Its settings row says to leave it empty to use
~/when that browser opens, and the command palette usesaddProjectBaseDirectoryonly as that starting path. Creating a project from a name doesn't read it.New project always creates
<T3 home>/projects/<slug>(normally~/.t3/projects/<slug>). On currentmainthat'snamedProjectsRootinManagedProjectFolders:// Projects started from just a name live beside Scratch and worktrees, away // from folders the user organizes by hand. A nested repository is fine here // (unlike Scratch) because each project gets its own `git init`. const namedProjectsRoot = path.resolve(config.baseDir, "projects");
That location was specified in #14527, and #14569 moved the logic into this service without changing it. The name step already shows
Goes in <root>orCreates <path>before anything is created, and web, desktop, and mobile all use the server'snewProjectsRoot. #11756 is a separate (closed) report about where Add project starts in is scoped, and it never controlled where New project writes.Choosing a different directory would be a new capability. Pointing New project at
addProjectBaseDirectorywould mix "where the browser opens" with "where T3 keeps repositories it creates", which #14527 deliberately kept apart. A separate "New projects are created in" setting fits that split better, but it needs a product decision first, so a proposal in Ideas is the best next step. I'm tagging this as an enhancement for now.Until then, your workaround is the targeted one: move any projects already under
~/.t3/projects, then symlink that directory to the folder you want.T3CODE_HOMEor--base-dirrelocates the whole T3 data directory, including the database, not just these projects.Reviewed at
8ed276c246: ManagedProjectFolders.ts, SettingsPanels.tsx, CommandPalette.tsx.- addedenhancementRequested improvement or new capability.Requested improvement or new capability.via-triageFiled through npx t3 triageFiled through npx t3 triage
on Oct 3, 2026 Same behavior on the newest nightly, and one point that may be worth adding to the enhancement framing: for users who had set "Add project starts in", this reads as a behavior change, not only a missing option.
Why it feels like a regression
Before #14527 (merged 2026-10-01), the sidebar "+" and the draft heading's menu item were labeled "New project" but opened Add project. That browser starts in
addProjectBaseDirectory, and typing a path that doesn't exist yet and pressing Enter ("Create & Add") creates the folder there and registers it. So "New project" used to land in the configured directory.Since #14527, those entry points say "Add project", and the thing now called New project always writes to
<T3 home>/projects/<slug>. Same label as before, different destination. The "Create & Add" path still works, so nothing was removed, but the obvious button moved.Environment
- T3 Code 0.0.46-nightly.20261008.2833 (a6ec88f), run as a background service, web client
- Linux x64, Node v26.8.2
settings.json:"addProjectBaseDirectory": "~/<base-dir>"
Evidence
Projects added via Add project (including typed-in new folders) all sit under the configured base directory. Every project created with New project since the 2026-10-01 nightly sits under
~/.t3/projects:# projection_projects, newest first (workspace_root | created_at) ~/<base-dir>/project-g | 2026-10-06 (Add project) ~/.t3/projects/project-f | 2026-10-04 (New project) ~/.t3/projects/project-e | 2026-10-03 (New project) ~/.t3/projects/project-d | 2026-10-02 (New project) ~/<base-dir>/project-c | 2026-09-28 (Add project, folder created from the browser) ~/<base-dir>/project-b | 2026-09-25 (Add project, folder created from the browser) ~/<base-dir>/project-a | 2026-09-24 (Add project, folder created from the browser)The
~/.t3/projectsrepos start with the scaffold'sInitial commit(README +assets/icon.svg). The earlier base-directory repos have ordinary first commits, consistent with "Create & Add" plus the first turn's own commit.Source on this tag matches the diagnosis above:
apps/server/src/project/ManagedProjectFolders.ts:376resolvespath.resolve(config.baseDir, "projects")and never readsaddProjectBaseDirectory;apps/web/src/components/CommandPalette.tsx:1119reads the setting only to seed the Add project browser.Either fix proposed in the issue would work for me. Defaulting New project to
addProjectBaseDirectorywhen set would restore what the old "New project" label did.Filed via
t3 triage(Claude Code, Claude Fable 5.1).For what it's worth, I second this. I asked Claude how to change the new project directory, and you can't, so I guess I'll have to create all my projects manually unless this gets updated.
@Lightning11wins I raised it as an idea, see #14973 . Hopefully it gets enough up votes that it is implemented
Reacted by Lightning- locked and limited conversation to collaborators
on Oct 11, 2026
What happened
"Add Project" and "Create New Project" use different base directories.
My Settings → "Add project starts in" is set to a custom directory (a mounted data drive). Add Project starts there as expected, but Create New Project creates the project under
~/.t3/projects/. I expected Create New Project to respect the configured base directory, or to offer its own destination setting.Diagnosis
The new-project location is fixed. No setting controls it.
apps/server/src/ws.ts:2026:const newProjectsRoot = path.resolve(config.baseDir, "projects");is passed toNewProject.createNewProjectFolder({ root: newProjectsRoot, ... })and advertised to clients asServerConfig.newProjectsRoot.addProjectBaseDirectoryis never read on this path. It is only used client-side as the starting folder of the Add Project browser.mainis unchanged in behaviour. refactor(server): projects T3 creates for you run through one service #14569 moved the logic intoManagedProjectFolders(apps/server/src/project/ManagedProjectFolders.ts), andnamedProjectsRootis stillpath.resolve(config.baseDir, "projects").Goes in <newProjectsRoot>), so the destination is visible. But users who have set "Add project starts in" expect a project they create to land in that folder. The only way to change the location today is to move the whole T3 home, or to symlink~/.t3/projects.This reads as a design gap, not a regression. Two possible fixes:
addProjectBaseDirectorywhen it is set, and fall back to<baseDir>/projectswhen it is not.Steps to reproduce
/mnt/data/.Pinball Stats.~/.t3/projects/pinball-stats, not under the configured directory.Version
0.0.45 (v0.0.45, 6c8fed3)
Environment
Ubuntu Linux (kernel 7.0.0-38), x64, Node v26.8.2, T3 Code desktop app with a local server
Evidence
Related issues
#14527 introduced the feature with the fixed location. #14569 refactored it on
mainwithout changing the location. #11756 is about "Add project starts in" being exposed as a global setting instead of per environment, which is a different problem. No existing issue asks for the new-project location to be configurable.Fix applied or workaround
None applied. Workaround: replace
~/.t3/projectswith a symlink to the preferred directory. Any projects already in it must be moved and re-added first, because their stored paths would change.Filed by
Claude Code (Claude Opus 5.5) via
t3 triage