{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://claude.com/docs/cowork/3p/schemas/bootstrap-config-v1.schema.json",
  "$ref": "#/definitions/BootstrapConfig",
  "definitions": {
    "BootstrapConfig": {
      "type": "object",
      "properties": {
        "expiresAt": {
          "type": "number",
          "exclusiveMinimum": 0,
          "description": "Unix epoch (seconds or milliseconds) after which the client should re-fetch this document. Optional; when absent the client uses its default refresh interval."
        },
        "inferenceGatewayBaseUrl": {
          "type": "string",
          "format": "uri",
          "title": "Gateway base URL"
        },
        "inferenceCustomHeaders": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "title": "Custom inference headers"
        },
        "inferenceSessionLifetimeSec": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "title": "Sign-in session lifetime"
        },
        "inferenceGatewayApiKey": {
          "type": "string",
          "title": "Gateway API key"
        },
        "inferenceGatewayAuthScheme": {
          "type": "string",
          "enum": [
            "bearer",
            "x-api-key"
          ],
          "title": "Gateway auth scheme",
          "default": "bearer"
        },
        "inferenceGatewayOidc": {
          "type": "object",
          "properties": {
            "clientId": {
              "type": "string",
              "minLength": 1
            },
            "issuer": {
              "type": "string",
              "format": "uri"
            },
            "authorizationUrl": {
              "type": "string",
              "format": "uri"
            },
            "tokenUrl": {
              "type": "string",
              "format": "uri"
            },
            "bearerTokenType": {
              "type": "string",
              "enum": [
                "id_token",
                "access_token"
              ],
              "default": "id_token"
            },
            "scopes": {
              "type": "string",
              "minLength": 1
            },
            "appendOfflineAccess": {
              "type": "boolean",
              "default": true
            },
            "redirectPort": {
              "type": "integer",
              "minimum": 1024,
              "maximum": 65535
            }
          },
          "required": [
            "clientId"
          ],
          "title": "Gateway SSO IdP (OIDC)"
        },
        "inferenceAnthropicApiKey": {
          "type": "string",
          "title": "Claude API key"
        },
        "inferenceBedrockRegion": {
          "type": "string",
          "title": "AWS region"
        },
        "inferenceBedrockBaseUrl": {
          "type": "string",
          "format": "uri",
          "title": "Bedrock base URL"
        },
        "inferenceBedrockServiceTier": {
          "type": "string",
          "enum": [
            "flex",
            "priority"
          ],
          "title": "Bedrock service tier"
        },
        "inferenceBedrockBearerToken": {
          "type": "string",
          "title": "AWS bearer token"
        },
        "inferenceBedrockSsoStartUrl": {
          "type": "string",
          "format": "uri",
          "title": "AWS SSO start URL"
        },
        "inferenceBedrockSsoRegion": {
          "type": "string",
          "pattern": "^[a-z]{2}(-[a-z]+)+-\\d{1,2}$",
          "title": "AWS SSO region"
        },
        "inferenceBedrockSsoAccountId": {
          "type": "string",
          "minLength": 1,
          "title": "AWS SSO account ID"
        },
        "inferenceBedrockSsoRoleName": {
          "type": "string",
          "minLength": 1,
          "title": "AWS SSO role name"
        },
        "inferenceVertexProjectId": {
          "type": "string",
          "title": "GCP project ID"
        },
        "inferenceVertexRegion": {
          "type": "string",
          "title": "GCP region"
        },
        "inferenceVertexBaseUrl": {
          "type": "string",
          "format": "uri",
          "title": "Vertex AI base URL"
        },
        "inferenceVertexOAuthClientId": {
          "type": "string",
          "minLength": 1,
          "title": "Vertex OAuth client ID"
        },
        "inferenceVertexOAuthClientSecret": {
          "type": "string",
          "minLength": 1,
          "title": "Vertex OAuth client secret"
        },
        "inferenceVertexOAuthScopes": {
          "type": "string",
          "minLength": 1,
          "title": "Vertex OAuth scopes"
        },
        "inferenceVertexOAuthLoginHint": {
          "type": "string",
          "minLength": 1,
          "title": "Vertex OAuth login hint"
        },
        "inferenceVertexWorkforceAudience": {
          "type": "string",
          "minLength": 1,
          "title": "Workforce Identity audience"
        },
        "inferenceVertexWorkforceUserProject": {
          "type": "string",
          "minLength": 1,
          "title": "Workforce Identity billing project"
        },
        "inferenceVertexWorkforceOidc": {
          "type": "object",
          "properties": {
            "clientId": {
              "type": "string",
              "minLength": 1
            },
            "issuer": {
              "type": "string",
              "format": "uri"
            },
            "authorizationUrl": {
              "type": "string",
              "format": "uri"
            },
            "tokenUrl": {
              "type": "string",
              "format": "uri"
            },
            "scopes": {
              "type": "string",
              "minLength": 1
            },
            "redirectPort": {
              "type": "integer",
              "minimum": 1024,
              "maximum": 65535
            }
          },
          "required": [
            "clientId"
          ],
          "title": "Workforce Identity IdP (OIDC)"
        },
        "inferenceFoundryResource": {
          "type": "string",
          "title": "Azure AI Foundry resource name"
        },
        "inferenceFoundryApiKey": {
          "type": "string",
          "title": "Azure AI Foundry API key"
        },
        "otlpEndpoint": {
          "type": "string",
          "format": "uri",
          "title": "OpenTelemetry collector endpoint"
        },
        "otlpProtocol": {
          "type": "string",
          "enum": [
            "http/protobuf",
            "http/json",
            "grpc"
          ],
          "title": "OpenTelemetry exporter protocol",
          "default": "http/protobuf"
        },
        "otlpHeaders": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "title": "OpenTelemetry exporter headers"
        },
        "otlpResourceAttributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "title": "OpenTelemetry resource attributes"
        },
        "otlpDesktopLogLevel": {
          "type": "string",
          "enum": [
            "off",
            "error",
            "warn",
            "info",
            "debug"
          ],
          "title": "Desktop telemetry export level",
          "default": "error"
        },
        "inferenceMaxTokensPerWindow": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "title": "Max tokens per window"
        },
        "inferenceTokenWindowHours": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 720,
          "title": "Token cap window"
        },
        "coworkTabEnabled": {
          "type": "boolean",
          "title": "Allow Cowork tab",
          "default": true
        },
        "isClaudeCodeForDesktopEnabled": {
          "type": "boolean",
          "title": "Allow Claude Code tab",
          "default": true
        },
        "chatTabEnabled": {
          "type": "boolean",
          "title": "Allow Chat tab"
        },
        "chatAdvancedFileAnalysisEnabled": {
          "type": "boolean",
          "title": "Advanced file analysis"
        },
        "isDesktopExtensionEnabled": {
          "type": "boolean",
          "title": "Allow desktop extensions",
          "default": true
        },
        "isDesktopExtensionSignatureRequired": {
          "type": "boolean",
          "title": "Require signed extensions",
          "default": false
        },
        "disableAutoUpdates": {
          "type": "boolean",
          "title": "Block auto-updates",
          "default": false
        },
        "autoUpdaterEnforcementHours": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 72,
          "title": "Auto-update enforcement window"
        },
        "modelDiscoveryEnabled": {
          "type": "boolean",
          "title": "Model discovery"
        },
        "inferenceModels": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "labelOverride": {
                    "type": "string"
                  },
                  "supports1m": {
                    "type": "boolean"
                  },
                  "anthropicFamilyTier": {
                    "type": "string",
                    "enum": [
                      "sonnet",
                      "opus",
                      "haiku",
                      "fable",
                      "mythos"
                    ]
                  },
                  "isFamilyDefault": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name"
                ]
              }
            ]
          },
          "minItems": 1,
          "title": "Model list"
        },
        "organizationPluginsUrl": {
          "type": "string",
          "format": "uri",
          "title": "Organization plugins endpoint"
        },
        "orgPluginSettings": {
          "type": "object",
          "properties": {
            "mcpServers": {
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "toolPolicy": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string",
                      "enum": [
                        "allow",
                        "ask",
                        "blocked"
                      ]
                    }
                  }
                }
              }
            }
          },
          "title": "Organization plugin settings"
        },
        "deploymentOrganizationUuid": {
          "type": "string",
          "title": "Organization UUID"
        },
        "disableNonessentialTelemetry": {
          "type": "boolean",
          "title": "Block nonessential telemetry",
          "default": false
        },
        "disableNonessentialServices": {
          "type": "boolean",
          "title": "Block nonessential services",
          "default": false
        },
        "managedMcpServers": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "transport": {
                    "type": "string",
                    "enum": [
                      "http",
                      "sse"
                    ]
                  },
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "oauth": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "type": "string",
                            "const": "dcr"
                          }
                        },
                        "required": [
                          "mode"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "type": "string",
                            "const": "byo"
                          },
                          "clientId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "clientSecret": {
                            "type": "string",
                            "minLength": 1
                          },
                          "authorizationServer": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "format": "uri"
                            },
                            "minItems": 1
                          },
                          "tenantId": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "uuid"
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "common",
                                  "organizations",
                                  "consumers"
                                ]
                              }
                            ]
                          },
                          "scope": {
                            "type": "string",
                            "minLength": 1
                          },
                          "appendOfflineAccess": {
                            "type": "boolean"
                          },
                          "callbackHost": {
                            "type": "string",
                            "enum": [
                              "127.0.0.1",
                              "localhost"
                            ]
                          },
                          "callbackPort": {
                            "type": "integer",
                            "minimum": 1024,
                            "maximum": 65535
                          }
                        },
                        "required": [
                          "mode"
                        ]
                      }
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "toolPolicy": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string",
                      "enum": [
                        "allow",
                        "ask",
                        "blocked"
                      ]
                    }
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "managed",
                      "org-plugin",
                      "user"
                    ],
                    "default": "user"
                  }
                },
                "required": [
                  "name",
                  "transport",
                  "url"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "title": "Managed MCP servers"
        },
        "isLocalDevMcpEnabled": {
          "type": "boolean",
          "title": "Allow user-added MCP servers",
          "default": true
        },
        "disabledBuiltinTools": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Disabled built-in tools"
        },
        "builtinToolPolicy": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "enum": [
              "allow",
              "ask"
            ]
          },
          "propertyNames": {
            "enum": [
              "Bash",
              "Read",
              "Write",
              "Edit",
              "Glob",
              "Grep",
              "NotebookEdit",
              "WebFetch",
              "WebSearch",
              "Task",
              "TodoWrite",
              "TaskCreate",
              "TaskUpdate",
              "TaskGet",
              "TaskList",
              "TaskStop",
              "Skill",
              "REPL",
              "JavaScript",
              "AskUserQuestion",
              "ToolSearch",
              "SendUserMessage"
            ]
          },
          "title": "Built-in tool policy"
        },
        "autoModeEnabled": {
          "type": "boolean",
          "title": "Allow Auto mode",
          "default": false
        },
        "allowedWorkspaceFolders": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "minLength": 1
                  },
                  "isDefaultSelected": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "path"
                ]
              }
            ]
          },
          "title": "Allowed workspace folders"
        },
        "coworkEgressAllowedHosts": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          },
          "title": "Allowed egress hosts"
        },
        "claudeAiImport": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "format": "uri"
            },
            "oauthIssuer": {
              "type": "string",
              "format": "uri"
            },
            "oauthClientId": {
              "type": "string",
              "minLength": 1
            }
          },
          "required": [
            "url",
            "oauthIssuer",
            "oauthClientId"
          ],
          "title": "Claude.ai data import"
        },
        "banner": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "text": {
              "type": "string"
            },
            "backgroundColor": {
              "type": "string"
            },
            "textColor": {
              "type": "string"
            },
            "linkUrl": {
              "type": "string"
            }
          },
          "title": "Organization banner"
        },
        "inferenceProvider": {
          "type": "string",
          "enum": [
            "gateway",
            "anthropic",
            "bedrock",
            "mantle",
            "vertex",
            "foundry"
          ],
          "title": "Inference provider"
        },
        "inferenceCredentialKind": {
          "type": "string",
          "enum": [
            "static",
            "helper-script",
            "interactive",
            "vendor-profile",
            "oauth",
            "workforce"
          ],
          "title": "Credential kind"
        }
      },
      "description": "Per-user bootstrap configuration response. Subset of managed-config-v1 (bootstrapable keys only). Structural reference for editor autocomplete — the client applies further validation that this schema does not express (https-only and non-loopback URLs, remote-only MCP entries, origin-pinning under gateway SSO). Unrecognised keys are ignored."
    }
  }
}
