# `Codex.Items.FileChange`
[🔗](https://github.com/nshkrdotcom/codex_sdk/blob/v0.18.1/lib/codex/items.ex#L185)

Represents a file diff emitted by the agent, including per-path change metadata and
completion status.

# `change`

```elixir
@type change() :: %{
  :path =&gt; String.t(),
  :kind =&gt; change_kind(),
  optional(:diff) =&gt; String.t(),
  optional(:move_path) =&gt; String.t() | nil
}
```

# `change_kind`

```elixir
@type change_kind() :: :add | :delete | :update
```

# `status`

```elixir
@type status() :: :in_progress | :completed | :failed | :declined
```

# `t`

```elixir
@type t() :: %Codex.Items.FileChange{
  changes: [change()],
  id: String.t() | nil,
  status: status(),
  type: :file_change
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
