Get Started
Migrate from Conductor
Move your local Conductor workspaces, scripts, and agents to Paradev
If you choose to switch from Conductor, this guide moves your local workspaces to Paradev. Your branches, uncommitted changes, and agent subscriptions all come with you.
Using Conductor Cloud?
Follow Migrate from Conductor Cloud to save your work and choose where to continue.
Both apps use the same model: one Git worktree and one branch per task, with an agent working inside it. Most of the move is pointing Paradev at the same repositories and translating one config file.
What Maps to What
| Conductor | Paradev |
|---|---|
| Workspace | Workspace (a Git worktree on its own branch) |
~/conductor/workspaces/<repo>/<workspace>, or <repo>/.conductor/<workspace> in older versions | Imported workspaces keep their path. New ones go in ~/.paradev/worktrees/<project>/<branch> |
conductor.json or .conductor/settings.toml | .paradev/config.json (lifecycle scripts) |
| Setup script | setup |
| Run script and named actions | run (Run button), plus terminal scripts for other actions |
| Archive script | teardown |
| Archive workspace | Delete workspace |
CONDUCTOR_ROOT_PATH | SUPERSET_ROOT_PATH |
CONDUCTOR_WORKSPACE_PATH | SUPERSET_WORKSPACE_PATH |
CONDUCTOR_WORKSPACE_NAME | SUPERSET_WORKSPACE_NAME |
CONDUCTOR_PORT | No equivalent. Paradev detects ports instead of assigning them |
| Diff viewer and checks | Changes pane and pull requests |
| Conductor Cloud | Cloud workspaces. See Migrate from Conductor Cloud |
| iOS app | iPhone and iPad app |
| API | CLI, TypeScript SDK, and MCP server |
1. Install Paradev and Add Your Repositories
Install Paradev, then add each repository you used in Conductor from its local folder. Add the same folder that Conductor used, not a new clone: Conductor's worktrees are attached to that checkout, and Paradev finds them through it.
2. Import Your Conductor Workspaces
Each Conductor workspace is an ordinary Git worktree, so Paradev can adopt it in place. Nothing is copied or moved.
- Right-click the project in the sidebar and choose Import untracked worktrees. You can also use the Import tab in the New Workspace modal.
- Check the list of branches and paths. Conductor's worktrees are usually under
~/conductor/workspaces/. Older versions put them in a.conductor/folder inside the repository. - Leave Run setup script off. These worktrees are already set up.
Imported workspaces keep their paths, branches, and uncommitted changes. New workspaces you create in Paradev go under ~/.paradev/worktrees/.
If a worktree is missing from the list, run git worktree list in the repository. Paradev only imports worktrees that have a branch checked out. A worktree on a detached HEAD needs a branch first (git switch -c <name> inside it).
Do not archive these workspaces in Conductor after you import them. Archiving in Conductor deletes the workspace directory, which is now your Paradev workspace too. Quit Conductor instead. See Remove Conductor.
3. Convert Your Scripts
Move your scripts from conductor.json or .conductor/settings.toml into .paradev/config.json at the repository root.
A conductor.json like this:
{
"scripts": {
"setup": "bun install && cp \"$CONDUCTOR_ROOT_PATH/.env\" .env",
"run": "bun dev --port $CONDUCTOR_PORT",
"archive": "docker compose down"
}
}becomes:
{
"setup": ["bun install", "cp \"$SUPERSET_ROOT_PATH/.env\" .env"],
"run": ["bun dev"],
"teardown": ["docker compose down"]
}Differences to know:
- Commands are arrays. Each entry runs in order in the workspace directory.
runis one command set. It starts from the Run button in its own restartable pane. Save other named actions as terminal scripts and launch them from the Scripts bar.teardownruns when you delete a workspace, before Paradev removes the worktree. If it fails, you can still Delete Anyway.- There is no
run_modesetting. Each workspace has its own Run pane. - Personal overrides go in
.paradev/config.local.json, not in the committed file. Add it to.gitignorebefore you commit.paradev/. See Local Config.
Keep Scripts That Read CONDUCTOR_*
If your setup is a shell script that reads CONDUCTOR_* variables, you can keep it unchanged at first. Pass the Paradev values under the old names:
{
"setup": [
"CONDUCTOR_ROOT_PATH=\"$SUPERSET_ROOT_PATH\" CONDUCTOR_WORKSPACE_PATH=\"$SUPERSET_WORKSPACE_PATH\" CONDUCTOR_WORKSPACE_NAME=\"$SUPERSET_WORKSPACE_NAME\" ./scripts/conductor-setup.sh"
]
}Replace CONDUCTOR_PORT
Paradev does not reserve a port range for each workspace. It finds the ports that each workspace's processes listen on and shows them in the Ports panel, where you can open them in the browser or stop them.
Most dev servers pick a free port by themselves, so remove --port $CONDUCTOR_PORT. If your app needs a fixed port per workspace, reserve a range in setup and release it in teardown. The Ports page links to an example.
Let an Agent Do It
Create a workspace with this prompt:
Convert this repo's Conductor config (conductor.json or .conductor/settings.toml)
into .paradev/config.json. Read docs.paradev.com/setup-teardown-scripts and
docs.paradev.com/migrate-from-conductor first. Map CONDUCTOR_* variables to
SUPERSET_* variables, and replace CONDUCTOR_PORT as the migration guide describes.Commit .paradev/ so your team gets the same scripts.
4. Pick Up Your Agents
Claude Code, Codex, Cursor Agent, and OpenCode all run in Paradev on your existing subscriptions and keys. See Supported Agents for the full list, or add any other CLI as a custom agent.
Conductor saves Claude Code sessions in your usual ~/.claude folder, under the workspace's path. Import keeps that path, so open a terminal in the imported workspace and run claude --resume to pick a Conductor conversation. Claude Code deletes sessions older than 30 days by default, so very old chats may be gone. For other agents, try their own resume command, such as codex resume. To keep a copy of every chat, use Conductor's Settings → Account → Export data. After that, Paradev resumes the session by itself if its terminal dies.
Prefer a chat view to a terminal? Switch the agent pane to Chat.
5. Learn the Daily Loop
| Task | In Paradev |
|---|---|
| New workspace | ⌘N, type a prompt, pick an agent |
| Review a diff | Changes tab (Diff Viewer) |
| Commit, push, open a PR | From the Changes pane |
| Check CI and review threads | Pull Requests |
| Preview your app | In-app browser |
| Finish a task | Delete the workspace |
The first parallel session walks through this end to end. All keyboard shortcuts can be changed.
6. Remove Conductor
If you decide to remove Conductor after moving your workspaces, follow these steps:
- Quit Conductor and move it to the Trash.
- Keep
~/conductor/workspaces/(or the repository's.conductor/folder) while you still have workspaces imported from it. They are ordinary worktrees, and deleting the folder deletes your work. - Delete a workspace from Paradev when you finish it. Paradev runs
teardownand removes the worktree, wherever it lives. - After the last old workspace is gone, run
git worktree prunein each repository, then delete~/conductor/and any.conductor/folders.
Get Help
Stuck on a step? Ask in the community or see Troubleshooting.