# LibTmux::Client::ClientTarget.switch

- **Module:** LibTmux::Client
- **Package:** LibTmux
- **Language:** Raku
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-raku/blob/0b5dd3d32e20f83a0069874e33eab0eb48f55962/lib/LibTmux/Client.rakumod#L328
- **Page:** https://libtmux.org/en/raku/latest/reference/libtmux-client-clienttarget-switch/

```
method switch(SessionId:D $session, Bool:D :$update-environment = False,
                  Bool:D :$keep-zoom = False, *%operation --> Result:D)
```

Switch session by ID. Updating the session environment is opt-in.

Switch session by ID. Updating the session environment is opt-in.

## Parameters

- `$session` (`SessionId:D`)
- `$update-environment?` (`Bool:D`)
- `$keep-zoom?` (`Bool:D`)
- `%operation`

## tmux command

The tmux commands behind `switch`.

- [`switch-client`](/en/tmux/latest/manual/switch-client/)

## tmux C API

The C declarations in tmux that implement these commands.

- [`cmd_switch_client_entry`](/en/tmux/latest/reference/c-variable-cmd_switch_client_entry/) (attribute)
- [`cmd_switch_client_exec`](/en/tmux/latest/reference/c-function-cmd-switch-client-c-cmd_switch_client_exec/) (function)
