> ## Documentation Index
> Fetch the complete documentation index at: https://docs.murmur.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# murmur patch

> Update individual fields on a catalog resource without replacing the whole document — supports JSON pointer paths and stdin-provided values.

Performs a partial update on a [catalog](/catalog/overview) resource. Only the specified fields are changed -- all other fields are preserved.

## Synopsis

```bash theme={null}
murmur patch <kind> <name> --set field=value [--file-field field.path=filename ...]
```

## Arguments

| Name           | Type   | Required                                | Description                                                                                                                         |
| -------------- | ------ | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `kind`         | string | yes                                     | The [catalog](/catalog/overview) resource kind. Run [`murmur describe`](/cli/describe) to list available kinds.                     |
| `name`         | string | yes                                     | The resource name to update.                                                                                                        |
| `--set`        | string | yes (unless `--file-field` is provided) | Set a field to a value. Format: `field=value`. Repeatable. Supports dotted paths for nested fields (e.g. `gcp.project=my-project`). |
| `--file-field` | string | no                                      | Inject file content at a dotted field path. Format: `field.path=filename`. Repeatable.                                              |

At least one `--set` or `--file-field` is required.

### Value type inference

The `--set` flag infers the value type automatically:

| Input            | Inferred type | Example                                        |
| ---------------- | ------------- | ---------------------------------------------- |
| Integer string   | integer       | `--set max_vms=100`                            |
| `true` / `false` | boolean       | `--set paused=true`                            |
| Anything else    | string        | `--set machine_type_ref=murmur-n2-standard-16` |

## Examples

### Change a pool's VM limit

```bash theme={null}
murmur patch pool-config default --set max_vms=100
```

```
Patched pool-config "default"
```

### Change an environment's machine type

```bash theme={null}
murmur patch environment staging --set machine_type_ref=murmur-n2-standard-16
```

```
Patched environment "staging"
```

### Update multiple fields at once

```bash theme={null}
murmur patch environment staging --set machine_type_ref=murmur-n2-standard-16 --set disk_size_gb=200
```

```
Patched environment "staging"
```

### Update a nested field

```bash theme={null}
murmur patch placement custom-gcp --set gcp.project=my-project
```

```
Patched placement "custom-gcp"
```

### Inject file content into a field

```bash theme={null}
murmur patch recipe python-toolchain --file-field provisioning_script=provision.sh
```

```
Patched recipe "python-toolchain"
```

## Errors

| Code                | Meaning                                                         | What to do                                                                                |
| ------------------- | --------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `NOT_FOUND`         | No resource with that kind and name exists.                     | Check the name. Run [`murmur get`](/cli/get) `<kind>` to list available resources.        |
| `UNAUTHENTICATED`   | Identity token is missing or expired.                           | Run `murmur auth` or check your `murmur.local.yaml` configuration.                        |
| `INVALID_ARGUMENT`  | The kind is not recognized or a field name or value is invalid. | Run [`murmur describe`](/cli/describe) to check the kind's schema.                        |
| `PERMISSION_DENIED` | The resource is a platform builtin and cannot be modified.      | Platform-managed resources are immutable. Create your own resource with a different name. |

## Related

* [Catalog](/catalog/overview) -- concept overview
* [`murmur get`](/cli/get) -- read a resource or list resources of a kind
* [`murmur set`](/cli/set) -- create or fully replace a resource
* [`murmur rm`](/cli/rm) -- delete a resource
* [`murmur describe`](/cli/describe) -- show schema information for a kind
