feat(desktop): open a configured local folder on startup
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Summary
Add an optional setting that opens a fresh local draft in a configured folder when T3 Code starts, with the folder preference belonging to the local machine.
Problem to solve
After fully quitting and reopening the macOS desktop app, the reported landing screen selects a project on a different environment even though a preferred local directory is configured under “Add project starts in.” That existing setting describes the Add Project browser, so it does not establish a startup-folder contract. Users who keep their work under a regular local folder have to change the selected project or environment after launch.
Proposed behavior
Offer an opt-in startup-folder setting in General → Projects & threads. Let users configure a directory on the local environment and enable opening that folder on startup. Reusing the existing “Add project starts in” directory is acceptable if the relationship is clear in Settings. When enabled, opening the desktop app normally should land in a local draft rooted at that directory regardless of activity in other projects or remote environments.
Keep the preference scoped to the machine that owns the directory. Reuse an existing project for the folder or register the existing directory when necessary. If the directory is unavailable, explain the problem and offer a way to correct it without silently selecting an unrelated project.
Acceptance criteria
- A user can enable, disable, inspect, and change the startup-folder preference in Settings.
- With a valid configured folder, fully quitting and reopening the desktop app opens a local draft in that folder, including when another local or remote project was most recently active.
- The startup behavior works when the folder has not previously been added as a project and does not create duplicate projects on subsequent launches.
- The folder and toggle persist across application restarts and are not copied onto unrelated remote machines.
- An unavailable configured folder produces an actionable message; startup does not create a missing directory or silently select another project.
- Disabling the option restores the existing landing behavior. Existing installations remain unchanged until they opt in.
- An explicit link to a thread still opens the requested thread.
Affected area
Desktop startup, the shared web landing screen, and General settings.
Non-goals
Changing provider startup or authentication, resuming interrupted turns, changing the default workspace mode for manually created threads, or automatically moving projects between environments.
Supporting context
The supplied macOS screenshots show a remote project selected after relaunch and a local base directory configured for the Add Project browser. Source inspection confirms the index landing selects the most recently active project across environments. No cause is claimed for the separate provider-status error visible in the screenshot.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the index landing selection and the General → Projects & threads settings entry point, then trace desktop startup and preference persistence for local versus remote environments. Use the acceptance criteria to verify restart behavior, existing and new folders, unavailable paths, duplicate prevention, opt-in compatibility, and explicit thread links.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- desktop, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100