Changes only the settings you give and keeps the rest. With –scope project (the default) it sets the project’s order, pace, cap and parallel limit. With –scope user it sets your own cap, the share you keep free for your own work, and –share on|off for sending usage events to Overlane (off unless you turn it on).
Usage
overlane usage policy set [--scope project|user] [--order sequential|round_robin|parallel] [--pace asap|steady] [--cap PERCENT] [--reserve PERCENT] [--max-parallel N] [--share on|off] [--dry-run]Flags
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--scope |
one of project, user |
no | Whose settings: project (default) or user (yours) | |
--order |
one of sequential, round_robin, parallel |
no | How clients take turns: sequential, round_robin or parallel | |
--pace |
one of asap, steady |
no | asap uses usage up to the cap; steady spreads it across the window | |
--cap |
string | no | The most of each usage window to use, 1 to 100 | |
--reserve |
string | no | Share of each window kept free for your own work, 0 to 99 | |
--max-parallel |
string | no | Clients that may run at once when the order is parallel | |
--share |
string | no | With –scope user: send usage events to Overlane (default off) | |
--dry-run |
boolean | no | Print the requests and file changes this command would make, then stop. Needs no credentials. |
Examples
overlane usage policy set --cap 80 --pace steady
overlane usage policy set --scope user --reserve 20 --share offBehavior
- Effect:
write(changes local or hosted state). - Needs credentials: yes. Uses the network: yes.
- Supports
--dry-run: yes. Accepts--force: no. - Machine-readable description:
overlane schema usage policy set.
Result
With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.
{
"anyOf": [
{
"type": "object",
"properties": {
"project": {
"type": "object",
"properties": {
"order": {
"default": "sequential",
"type": "string",
"enum": [
"sequential",
"round_robin",
"parallel"
]
},
"maxParallel": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"pace": {
"default": "asap",
"type": "string",
"enum": [
"asap",
"steady"
]
},
"capPercent": {
"default": 85,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"reservePercent": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 99
},
"iterationsPerWindow": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"order",
"maxParallel",
"pace",
"capPercent",
"reservePercent"
],
"additionalProperties": false
},
"user": {
"anyOf": [
{
"type": "object",
"properties": {
"order": {
"default": "sequential",
"type": "string",
"enum": [
"sequential",
"round_robin",
"parallel"
]
},
"maxParallel": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"pace": {
"default": "asap",
"type": "string",
"enum": [
"asap",
"steady"
]
},
"capPercent": {
"default": 85,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"reservePercent": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 99
},
"iterationsPerWindow": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"order",
"maxParallel",
"pace",
"capPercent",
"reservePercent"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"shareUsageEvents": {
"type": "boolean"
},
"effectiveCap": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"executors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"executor": {
"type": "string",
"enum": [
"claude-code",
"codex",
"gemini-cli",
"cursor"
]
},
"eligible": {
"type": "boolean"
},
"cause": {
"anyOf": [
{
"type": "string",
"enum": [
"policy_pause",
"not_allowed",
"paused_this_task",
"signed_out",
"model_unavailable",
"cooling",
"over_cap",
"pacing",
"not_listed"
]
},
{
"type": "null"
}
]
},
"reason": {
"type": [
"string",
"null"
]
},
"waitUntil": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"executor",
"eligible",
"cause",
"reason",
"waitUntil"
],
"additionalProperties": false
}
},
"at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"project",
"user",
"shareUsageEvents",
"effectiveCap",
"executors",
"at"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"dryRun": {
"type": "boolean",
"const": true
},
"service": {
"type": "string"
},
"requests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"path": {
"type": "string"
},
"body": {},
"note": {
"type": "string"
}
},
"required": [
"method",
"path"
],
"additionalProperties": false
}
},
"commands": {
"type": "array",
"items": {
"type": "string"
}
},
"writes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"write",
"append",
"delete"
]
},
"description": {
"type": "string"
}
},
"required": [
"path",
"action",
"description"
],
"additionalProperties": false
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"dryRun",
"requests",
"commands",
"writes",
"notes"
],
"additionalProperties": false
}
]
}See exit codes for the status the process returns.