Introducing Conductor Cloud →Skip to docs content
Conductor

conductor.json

Legacy repository configuration file for Conductor

conductor.json is Conductor's legacy repository configuration file. New shared repository settings should use .conductor/settings.toml instead.

If a repository has .conductor/settings.toml, Conductor treats the repository as migrated and ignores repo-level conductor.json.

Current recommendation

Use .conductor/settings.toml for shared team settings:

.conductor/settings.toml
"$schema" = "https://conductor.build/schemas/settings.repo.schema.json"

[scripts]
setup = "npm install"
run = "npm run dev"
run_mode = "concurrent"

Commit .conductor/settings.toml when teammates should share the same configuration. Add .conductor/settings.local.toml to .gitignore for personal repository overrides:

touch .gitignore
grep -qxF ".conductor/settings.local.toml" .gitignore || printf "\n.conductor/settings.local.toml\n" >> .gitignore

For supported TOML fields, see Settings reference. For precedence and file locations, see User and project settings. For the team workflow, see Share repository settings with teammates.

Legacy file format

Older repositories may still contain conductor.json at the repository root:

conductor.json
{
    "scripts": {
        "setup": "npm install",
        "run": "npm run dev"
    },
    "runScriptMode": "concurrent"
}

Supported legacy fields:

FieldTypeTOML replacement
scripts.setupstringscripts.setup
scripts.runstringscripts.run
scripts.archivestringscripts.archive
runScriptMode"concurrent" or "nonconcurrent"scripts.run_mode
enterpriseDataPrivacybooleanenterprise_data_privacy

Migrate to settings.toml

To migrate manually:

  1. Create .conductor/settings.toml.
  2. Move each legacy field to its TOML replacement.
  3. Delete conductor.json.
  4. Commit both changes.

Example migration:

conductor.json
{
    "scripts": {
        "setup": "pnpm install",
        "run": "pnpm dev --port $CONDUCTOR_PORT",
        "archive": "./script/workspace-archive.sh"
    },
    "runScriptMode": "concurrent",
    "enterpriseDataPrivacy": true
}

becomes:

.conductor/settings.toml
"$schema" = "https://conductor.build/schemas/settings.repo.schema.json"
enterprise_data_privacy = true

[scripts]
setup = "pnpm install"
run = "pnpm dev --port $CONDUCTOR_PORT"
archive = "./script/workspace-archive.sh"
run_mode = "concurrent"

If Conductor shows a migration prompt in Repository Settings, use it to create a migration pull request automatically.

On this page