Skip to content
This repository was archived by the owner on Aug 10, 2026. It is now read-only.

Latest commit

 

History

39 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Config

A native macOS app for managing your Claude Code configuration — settings, CLAUDE.md, memory, MCP servers, sessions, and analytics — all in one place.

Claude Config — General Settings

Why

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.

At a Glance

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

Key Features

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.

Building

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 Run

Or build from the command line:

xcodebuild -project ClaudeConfigGUI.xcodeproj \
  -scheme ClaudeConfigGUI \
  -destination 'platform=macOS' \
  -derivedDataPath build build

open build/Build/Products/Debug/Claude\ Config.app

Architecture

Sources/
  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 (not ObservableObject) — access-tracked, no @Published boilerplate
  • Window scene (not WindowGroup) — 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, DispatchSource file watching for external edits
  • JSON round-trip preservation — ~/.claude.json has many keys beyond mcpServers; uses JSONSerialization dictionary merge to preserve unknown keys

Non-goals

  • Not a chat interface (see OpCode for that)
  • Not a plugin development environment
  • Not an MCP server runtime — just config editing

Status & roadmap

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).

License

MIT

About

Native macOS GUI for managing Claude Code configuration

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages