# ui.push

> Talos next · Since next

[editor (test session)] Push a registered screen (ui.screens lists them) with optional props, as ctx.ui.push does, to look at it without a behaviour.

replace swaps the top instead.

| | |
|---|---|
| Title | Open a screen |
| Mode |  |
| Token cost | about 143 tokens (listed only when its toolset is enabled) |
| Toolset | `ui` |

## Arguments

| Argument | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
| `agent` | `string` | no |  |  | The name of the agent making the call, when several agents share one connection: each named agent is its own actor and plays its own game. Leave it out when there is one agent. |
| `props` | `object` | no |  |  | Set on its root as data-*; ui.screens reports them |
| `replace` | `boolean` | no | `false` |  |  |
| `screen` | `string` | yes |  |  | A registered screen's name |

## Example

An MCP `tools/call` with the required arguments (placeholders in angle brackets).

```json
{
  "name": "ui.push",
  "arguments": {
    "screen": "<screen>"
  }
}
```
