## Update a worker template `$ handinger workers update` **patch** `/api/workers/{workerId}` Update a worker's instructions, title, summary, visibility, or output schema. Only the fields you send are changed; omitted fields keep their current values. Only the worker creator can update a worker. ### Parameters - `--worker-id: string` Worker id returned by the create worker endpoint. - `--instructions: optional string` Replaces the persistent system prompt. Subsequent tasks pick up the new instructions immediately; in-flight tasks keep using the previous version. - `--output-schema: optional map[unknown]` Replace the worker's structured output schema. Pass `null` to clear it and return to free-form text responses. - `--summary: optional string` Replaces the worker's short one-line summary. - `--title: optional string` New display name for the worker. - `--visibility: optional "public" or "private"` Change visibility between `public` (any org member can run tasks) and `private` (only invited members). ### Returns - `worker_template: object { id, createdAt, instructions, 8 more }` - `id: string` - `createdAt: string` - `instructions: string` - `organizationId: string` - `outputSchema: map[unknown]` - `summary: string` - `title: string` - `updatedAt: string` - `url: string` Web URL of the worker in the Handinger dashboard. - `userId: string` - `visibility: "public" or "private"` - `"public"` - `"private"` ### Example ```cli handinger workers update \ --api-key 'My API Key' \ --worker-id t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM ``` #### Response ```json { "id": "id", "createdAt": "createdAt", "instructions": "instructions", "organizationId": "organizationId", "outputSchema": { "foo": "bar" }, "summary": "summary", "title": "title", "updatedAt": "updatedAt", "url": "https://v3.handinger.com/worker/wrk_vk81XUHKHG-qr4", "userId": "userId", "visibility": "public" } ```