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

# setstack

> Replaces one stack slot value in a Lua stack frame. level and index are required numbers. level must satisfy 0 <= level < the current call stack depth; invalid levels raise "Level out of range". C closure frames raise "Lua function expected". index is one-based and must refer to an existing stack slot; invalid indexes raise "Stack index out of range". debug.setstack is an alias.

Replaces one stack slot value in a Lua stack frame. level and index are required numbers. level must satisfy 0 \<= level \< the current call stack depth; invalid levels raise "Level out of range". C closure frames raise "Lua function expected". index is one-based and must refer to an existing stack slot; invalid indexes raise "Stack index out of range". debug.setstack is an alias.

## Syntax

```lua theme={null}
setstack(level: number, index: number, value: any)
```

## Aliases

* `debug.setstack`

## Arguments

| Name    | Type     | Required | Description                                                                   |
| ------- | -------- | -------- | ----------------------------------------------------------------------------- |
| `level` | `number` | Yes      | Stack level number. Must satisfy 0 \<= level \< the current call stack depth. |
| `index` | `number` | Yes      | One-based stack slot index.                                                   |
| `value` | `any`    | Yes      | New value for the stack slot.                                                 |

## Example

Replace one stack slot value in a Lua stack frame.

```lua theme={null}
local function inspect(value)
    print(getstack(1, 1))

    setstack(1, 1, "updated")
    print(getstack(1, 1))

    debug.setstack(1, 1, value)
end

inspect("ready")
```
