A native macOS app for managing your Claude Code configuration — settings, CLAUDE.md, memory, MCP servers, sessions, and analytics — all in one place.
Claude Code stores its configuration across a sprawl of JSON files, Markdown documents, and JSONL logs under ~/.claude/. Editing settings.json by hand is tedious and error-prone. This app gives you a System Settings-style GUI with scope awareness, validation, and auto-save.
| Section | What it does |
|---|---|
| Settings | Visual editor for all ~60 settings.json fields across 6 panels, plus merged effective config view |
| CLAUDE.md | Monospaced editor with split-pane markdown preview |
| Memory | Browse, create, edit, delete, and drag-and-drop memory files between projects |
| MCP Servers | Configure servers with approval status badges and connection testing |
| Sessions | Search past sessions, read transcripts, inspect tool call I/O |
| Analytics | Token usage, tool breakdown, language stats, session history |
| File History | Browse versioned file snapshots from past sessions |
| Disk Usage | Storage breakdown with cleanup actions and session pruning |
Scope-aware editing — A single User / Project / Local picker in the sidebar drives every view. When set to Project, a dropdown lets you select from all known projects. Settings show inherited values from parent scopes as ghost indicators.
Settings editor — Grouped form panels for General, Permissions, Hooks, Plugins, Sandbox, and Advanced. Three-way view toggle: Form, raw JSON, or Effective (merged read-only view showing what Claude actually sees across all scopes). Permission rules are validated inline. Undo/redo with Cmd+Z.
CLAUDE.md editor — Monospaced text editor with an optional split-pane markdown preview. Edit on the left, see rendered output on the right.
Memory browser — Browse, create, edit, and delete memory files with frontmatter editing. View auto-generated MEMORY.md indexes per project. Drag-and-drop entries between projects to reorganize.
Session browser — Searchable list of all sessions with a split-pane transcript viewer. Tool calls are collapsible disclosure rows showing input parameters and results. Sessions without full transcripts fall back to user prompts from history.jsonl. Filter by project. Delete sessions with full cleanup across all data files.
MCP server editor — Visual config for stdio (command + args + env), SSE, HTTP, and WebSocket transports. Reads from ~/.claude.json, .mcp.json, or claude_desktop_config.json depending on scope. Shows plugin-provided servers in a read-only section. Approval status badges (enabled/disabled/pending) with right-click approve/deny controls. Test connection button sends an MCP initialize handshake to verify the server works.
File history — Browse versioned file snapshots saved during past sessions. Split-pane viewer shows sessions on the left and file content on the right, with copy-to-clipboard.
Disk cleanup — One-click cleanup for debug logs, shell snapshots, file history, and cache. Confirmation dialogs show file counts and sizes before deleting. Session pruning honors cleanupPeriodDays to remove old transcripts, metadata, and file history in bulk.
Requires macOS 14+ (Sonoma), Xcode 16+, and XcodeGen.
brew install xcodegen # one-time setup
xcodegen generate # generate .xcodeproj from project.yml
open ClaudeConfigGUI.xcodeproj # open in Xcode and hit RunOr build from the command line:
xcodebuild -project ClaudeConfigGUI.xcodeproj \
-scheme ClaudeConfigGUI \
-destination 'platform=macOS' \
-derivedDataPath build build
open build/Build/Products/Debug/Claude\ Config.appSources/
App/ ClaudeConfigApp (Window scene), ContentView, Assets
Models/ ClaudeSettings, ConfigScope, MemoryEntry, SessionHistory,
MCPConfig, SessionStats
ViewModels/ AppState, ConfigEditor (with undo + file watching),
MarkdownFileEditor, MCPConfigEditor, MCPConnectionTester
Views/
Sidebar/ SidebarView (grouped sections + scope picker), DetailView (router)
Detail/ GeneralSettingsView, PermissionsView, HooksView, PluginsView,
SandboxView, AdvancedSettingsView, ClaudeMdView, MemoryBrowserView,
MCPServersView, SessionBrowserView, AnalyticsView, DiskUsageView,
RawJSONView, EffectiveConfigView, FileHistoryView
Components/ OptionalToggle, OptionalPicker, OptionalStepper, described() modifier
Design decisions:
@Observable(notObservableObject) — access-tracked, no@PublishedboilerplateWindowscene (notWindowGroup) — singleton window, no Cmd+N duplication- Plain
Codable(not SwiftData) — it's just JSON files on disk - No App Sandbox — needs direct read/write to
~/.claude/ - Debounced auto-save — 1-second delay via
Task.sleep,DispatchSourcefile watching for external edits - JSON round-trip preservation —
~/.claude.jsonhas many keys beyondmcpServers; usesJSONSerializationdictionary merge to preserve unknown keys
- Not a chat interface (see OpCode for that)
- Not a plugin development environment
- Not an MCP server runtime — just config editing
Phases 1–4 (Settings, Knowledge, MCP, Analytics & Housekeeping) have shipped — see the At a Glance table above for what's in. Open work is tracked in GitHub Issues: polish (backups, FSEvents), Knowledge-group additions (slash commands, skills, hook scripts, statusline), and a deferred distribution track (signing, notarization, DMG, Sparkle).
MIT
