Synopsis
Arguments
Input format
The command queries the server to determine whether the kind expects YAML or markdown input.- YAML kinds (e.g.
workspace,environment,pool-config) — pipe a YAML document to stdin. - Markdown kinds (e.g.
agent-persona,flight) — pipe a markdown document with YAML frontmatter to stdin. When the input starts with---, the entire input becomes the resource content. Otherwise it is parsed as YAML.
--file-field is given. When --file-field is provided, the file content is injected at the specified field path. This is useful for fields that contain large text content — like provisioning scripts — that are easier to maintain as separate files. Dotted paths set nested fields, and intermediate maps are created as needed.
The generation: and managed_by: keys that murmur get emits may stay in the piped document. The server drops them.
This is a full replace. Every field in the existing resource is overwritten by the payload. To update individual fields without replacing the resource, use
murmur patch.Conditional writes
With--if-generation N, the write commits only if the resource’s current generation equals N. murmur get prints the current generation as the document’s first key. On a mismatch the server fails with FAILED_PRECONDITION and writes nothing: re-run murmur get, re-apply your edit, and retry.
Managed resources
A write is a manual edit and declares no manager, so it is refused when the resource is managed by another system (Terraform, or your own automation), because that system may overwrite the change on its next run.murmur get prints the managed_by marker beside the generation.
--force-ownership writes anyway. It does not remove the resource from whatever manages it: if the resource is still in Terraform configuration, the next terraform apply reverts the value and reclaims the marker. To keep the edit, remove the resource from configuration (or terraform state rm it) first.
Builtins
Names starting withmurmur- (and the name murmur) are reserved for platform builtins and cannot be written. Running murmur set <kind> <builtin-name> with no stdin and no --file-field re-enables a builtin that was disabled with murmur rm.
Output
On success, the command prints a confirmation with the resource’s new generation to stderr:Re-enabled builtin <kind> "<name>".
With --propose, nothing is written. The command prints a summary line to stderr and the new change-request ID to stdout:
murmur get change-request. Apply one with murmur change-request approve <id>.
Examples
Set a pool config
Set an agent persona from a markdown file
Read, modify, and write back
Write only if nothing changed since the read
Create only if the resource does not exist
Inject a provisioning script from a file
Propose a change for review
Errors
The CLI rejects these flag combinations before contacting the server:
Related
- Catalog — concept overview
- Change requests — review and apply proposed changes
murmur get— read a resource or list resources of a kindmurmur patch— update individual fields without replacing the resourcemurmur rm— delete a resourcemurmur describe— show schema information for a kind