release: v0.3.0#9
Merged
Merged
Conversation
Add an `orbcode mcp migrate` subcommand and a `/migrate` slash command
that scan well-known paths for MCP server configs and copy them into
`~/.orbcode/settings.json` (user scope).
Detected sources:
- `~/.claude/settings.json` (Claude Code, user scope)
- `~/.claude.json` -> root `mcpServers` (Claude Code, user scope;
the most common location — `claude mcp add -s user …` writes here)
- `~/.claude.json` -> `projects.<cwd>.mcpServers` (Claude Code,
this project)
- `claude_desktop_config.json` (Claude Desktop — platform-specific)
When the same server name appears in both layers of `~/.claude.json`,
the root entry is shown and the project-layer duplicate is hidden,
matching Claude's own per-project override precedence.
The TUI shows a combined checklist across all sources (space toggle,
enter confirm, esc cancel) and re-builds the live McpManager after
apply so `/mcp` works without sending a message first. The CLI prints
a preview by default and only writes with `--all`; `--dry-run` is a
read-only preview even with `--all`. Servers whose name already exists
in the destination are silently skipped and reported in the summary.
Codex support (TOML) is intentionally deferred.
Also wires a shared `rebuildMcpManager` helper in `App.tsx` that the
migration flow and the forthcoming `/mcp` delete action both use to
tear down + recreate the live manager and drop the in-memory agent so
the next turn rebuilds it against the new tool list.
Bumps `package.json` to 0.3.0 (new feature, semver-minor). Codex
support is explicitly out of scope for this release.
Add a 'Delete' action to the `/mcp` server picker. The action is always shown last in the action list (red, to distinguish it from the everyday enable/disable/reconnect toggles) and prompts for an explicit y/n confirmation before doing anything. Behavior: `McpManager.removeServer` disconnects the live connection, drops the server from the in-memory enabled/disabled/pending-approval sets, and removes the entry from the on-disk config (whatever scope it lives in — project/user/local). The picker then re-persists the cleaned enabled/disabled lists via the parent's `onDeleted` callback and rebuilds the live manager so `/mcp` reflects the change immediately, without requiring the user to send a message first. Unlike Disable, Delete is irreversible: the config entry is gone and the server has to be re-added with `orbcode mcp add …`. The confirmation prompt shows the file that will be modified (looked up from `manager.getConfigPath`) so the user doesn't have to remember the scope rules.
Replace the plain-text OAuth callback HTML with a styled page that
matches the matterai.so look: dark background (`#0d1117`), centered
card, a colored circular icon (green for success, red for error/not
found), and a small 'OrbCode CLI · powered by Axon' brand footer.
Three states are rendered through a single `callbackPage(kind, detail)`
helper:
- `success` — green check, 'You can close this tab and return to
OrbCode.'
- `error` — red X, with `error_description` from the OAuth provider
shown as the detail (falling back to the `error` code itself).
- `not-found` — returned for any callback path other than
`/callback`, with a clear 'This page was not found.' message.
This was previously a single `<h1>Authorized</h1>` string for success
and equally spartan strings for the error / missing-code / 404 cases.
The 404 path is now HTML instead of plain text so the browser renders
the same styled card.
Contributor
Move the three new entries (MCP migration, MCP picker delete, OAuth callback styling) from `[Unreleased]` into a dated `## [0.3.0] - 2026-06-23` section, matching the project's Keep a Changelog layout. Leaves an empty `[Unreleased]` block above it for the next cycle.
Contributor
|
Note PR Review SkippedPR review skipped as no relevant changes found due to large diff hunk OR part of a non-reviewable file. 📄Files skipped in review
💡Tips to use MatterAICommand List
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Branches
release/v0.2.4->release/v0.3.0to match the version bump inpackage.json. Bumps the minor version for the new MCP migration feature.What's in this release
Added
orbcode mcp migrate//migrateslash command — scan Claude Code (~/.claude/settings.json,~/.claude.jsonroot + per-project layers) and Claude Desktop (claude_desktop_config.json) for MCP server configs and copy them into~/.orbcode/settings.json(user scope). TUI shows a combined checklist; CLI prints a preview by default and only writes with--all. Name conflicts are silently skipped. Codex support (TOML) is intentionally deferred./mcppicker — permanent, irreversible removal of a server from its config file (any scope) with an explicit y/n confirmation. Distinct from Disable, which leaves the entry in place./callbackpage now matches the matterai.so look (dark#0d1117background, centered card, colored icon, brand footer) for success, error, and not-found paths.Commits
032d585feat(mcp): migrate servers from Claude Code / Claude Desktop4613a0ffeat(mcp): add delete action to /mcp pickerdd55cbafeat(mcp): style OAuth callback pagebd2799fchore(release): finalize v0.3.0 changelog