Skip to content

overlane usage policy set

Set the project's usage policy, or your own caps and whether usage events are shared

Updated View as MarkdownOpen in ChatGPTOpen in Claude

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 off

Behavior

  • 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.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.