Skip to content

Epic: Differentiate global vs project scope in Settings UI #143

@hsteude

Description

@hsteude

Context

The Settings page currently presents all settings (Providers, Git, MCP, Prompts, Instructions, Appearance) as flat tabs without any indication of whether a setting is global (affects all projects) or project-specific (affects only the current project). This leads to confusion about where settings are stored and what they affect.

Current state:

Setting Actual Scope User knows?
Providers Global No
Git/SSH Global No
MCP Servers Global only No
Saved Prompts Browser (unscoped) No
Instructions Project Partially ("Project Instructions" label)
Appearance Browser No

Goal

Make the Settings UI clearly communicate the scope of each setting and allow per-project configuration where it makes sense.

Tasks

Target state:

Setting Scope Badge Notes
Providers Global [Global] Unchanged behavior
Git/SSH Global [Global] Unchanged behavior
MCP Servers Global + Project [Global + Project] Add globally, enable/disable per project
Saved Prompts Project [Project] Scoped per project in localStorage
Instructions Project [Project] Unchanged behavior
Appearance Browser No badge Unchanged behavior

Key architectural finding

The backend SDK already supports per-project MCP overrides via { enabled: boolean } in the Config type's MCP section. The client.config.update() endpoint (project-scoped) vs client.global.config.update() (global) differentiation is already built into the SDK context. The work is primarily UI-level.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority:highImportant feature or significant bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions