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

# Update vault column

> Change a vault column's heading, extraction instructions, type, or options.

<Note>
  The MCP server is in public beta. It is open to use and still being refined, so tools and behavior may change.
</Note>

<Info>
  **Tool** `update_vault_column` · **Behavior** Destructive
</Info>

Change a vault column's heading, extraction instructions, type, or options. Send only what should change. Only a `custom` column can be changed; GC AI owns the built-in and system columns and refuses. Changing the type of an AI column re-reads the documents that already have a value for it, which counts against the daily re-analysis limit, so the result says what happened to that re-scan.

## Input parameters

<ParamField body="vault_id" type="string (uuid)" required>
  The vault the column belongs to.
</ParamField>

<ParamField body="column_id" type="string (uuid)" required>
  The column to change, from `get_vault_columns`.
</ParamField>

<ParamField body="label" type="string">
  Column heading people see.
</ParamField>

<ParamField body="instructions" type="string">
  What the AI should look for in each document. Required for an `ai` column, which is the default.
</ParamField>

<ParamField body="field_type" type="string">
  One of: text, rich\_text, date, date\_range, enum, multi\_enum, boolean, number, currency, percentage, duration, email, url, list. Defaults to text. `enum` and `multi_enum` need `field_meta`.
</ParamField>

<ParamField body="field_meta" type="object | null">
  The choices for an enum or multi-select column: 2 to 12 unique options. Must be null for every other column type.

  <Expandable title="properties">
    <ParamField body="type" type="'enum' | 'multi_enum'" required />

    <ParamField body="options" type="string[]" required />
  </Expandable>
</ParamField>

<ParamField body="extraction_mode" type="'ai' | 'manual'">
  `ai` (the default) has GC AI fill the column. `manual` leaves it for people to fill in.
</ParamField>

## Response

<ResponseField name="column" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="string | null" />

    <ResponseField name="field_key" type="string" />

    <ResponseField name="label" type="string" />

    <ResponseField name="field_type" type="string" />

    <ResponseField name="kind" type="'built_in' | 'system' | 'custom'" />

    <ResponseField name="editable" type="boolean" />

    <ResponseField name="extraction_mode" type="string" />

    <ResponseField name="instructions" type="string" />

    <ResponseField name="field_meta" type="object | null">
      <Expandable title="properties">
        <ResponseField name="type" type="string" />

        <ResponseField name="options" type="string[]" />

        <ResponseField name="legacy_options" type="string[]" />
      </Expandable>
    </ResponseField>

    <ResponseField name="sort_order" type="number" />
  </Expandable>
</ResponseField>

<ResponseField name="auto_rescan" type="object | null">
  <Expandable title="properties">
    <ResponseField name="status" type="string" />

    <ResponseField name="queued" type="number" />

    <ResponseField name="total_files" type="number" />
  </Expandable>
</ResponseField>
