# cmd_new_session_exec

- **Language:** C
- **Kind:** function
- **Source:** https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L67
- **Page:** https://libtmux.org/en/tmux/3.2a/reference/c-function-cmd-new-session-c-cmd_new_session_exec/

tmux command: [`has-session`](/en/tmux/3.2a/manual/has-session/)

tmux command: [`new-session`](/en/tmux/3.2a/manual/new-session/)

```c
static enum cmd_retval cmd_new_session_exec(struct cmd *, struct cmdq_item *)
```

## Parameters

- `self` (`struct cmd *`)
- `item` (`struct cmdq_item *`)

## Paths through the source

Arrows name source relationships, not a runtime execution order.

### Create a session and its first pane

[`cmd_new_session_exec`](/en/tmux/3.2a/reference/c-function-cmd-new-session-c-cmd_new_session_exec/) — calls → [`spawn_window`](/en/tmux/3.2a/reference/c-function-spawn_window/) — calls → [`spawn_pane`](/en/tmux/3.2a/reference/c-function-spawn_pane/) — calls → [`window_add_pane`](/en/tmux/3.2a/reference/c-function-window_add_pane/) — calls → [`window_pane_create`](/en/tmux/3.2a/reference/c-function-window-c-window_pane_create/)

## Calls

- [`args_first_value`](/en/tmux/3.2a/reference/c-function-args_first_value/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L261)
- [`args_get`](/en/tmux/3.2a/reference/c-function-args_get/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L101)
- [`args_has`](/en/tmux/3.2a/reference/c-function-args_has/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L96)
- [`args_next_value`](/en/tmux/3.2a/reference/c-function-args_next_value/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L264)
- [`cfg_show_causes`](/en/tmux/3.2a/reference/c-function-cfg_show_causes/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L338)
- [`cmd_attach_session`](/en/tmux/3.2a/reference/c-function-cmd_attach_session/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L113)
- [`cmd_find_from_session`](/en/tmux/3.2a/reference/c-function-cmd_find_from_session/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L352)
- [`cmd_get_args`](/en/tmux/3.2a/reference/c-function-cmd_get_args/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L69)
- [`cmd_get_entry`](/en/tmux/3.2a/reference/c-function-cmd_get_entry/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L88)
- [`cmdq_error`](/en/tmux/3.2a/reference/c-function-cmdq_error/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L97)
- [`cmdq_get_client`](/en/tmux/3.2a/reference/c-function-cmdq_get_client/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L72)
- [`cmdq_get_current`](/en/tmux/3.2a/reference/c-function-cmdq_get_current/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L70)
- [`cmdq_get_target`](/en/tmux/3.2a/reference/c-function-cmdq_get_target/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L71)
- [`cmdq_insert_hook`](/en/tmux/3.2a/reference/c-function-cmdq_insert_hook/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L355)
- [`cmdq_print`](/en/tmux/3.2a/reference/c-function-cmdq_print/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L345)
- [`environ_create`](/en/tmux/3.2a/reference/c-function-environ_create/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L258)
- [`environ_put`](/en/tmux/3.2a/reference/c-function-environ_put/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L263)
- [`environ_update`](/en/tmux/3.2a/reference/c-function-environ_update/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L260)
- [`fatal`](/en/tmux/3.2a/reference/c-function-fatal/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L178)
- [`format_single`](/en/tmux/3.2a/reference/c-function-format_single/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L103)
- [`notify_client`](/en/tmux/3.2a/reference/c-function-notify_client/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L325)
- [`notify_session`](/en/tmux/3.2a/reference/c-function-notify_session/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L306)
- [`options_create`](/en/tmux/3.2a/reference/c-function-options_create/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L250)
- [`options_get_string`](/en/tmux/3.2a/reference/c-function-options_get_string/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L233)
- [`options_set_string`](/en/tmux/3.2a/reference/c-function-options_set_string/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L256)
- [`proc_send`](/en/tmux/3.2a/reference/c-function-proc_send/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L317)
- [`recalculate_sizes`](/en/tmux/3.2a/reference/c-function-recalculate_sizes/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L330)
- [`server_client_check_nested`](/en/tmux/3.2a/reference/c-function-server_client_check_nested/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L172)
- [`server_client_open`](/en/tmux/3.2a/reference/c-function-server_client_open/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L185)
- [`server_client_set_flags`](/en/tmux/3.2a/reference/c-function-server_client_set_flags/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L314)
- [`server_client_set_key_table`](/en/tmux/3.2a/reference/c-function-server_client_set_key_table/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L322)
- [`server_redraw_client`](/en/tmux/3.2a/reference/c-function-server_redraw_client/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L328)
- [`server_update_socket`](/en/tmux/3.2a/reference/c-function-server_update_socket/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L331)
- [`session_check_name`](/en/tmux/3.2a/reference/c-function-session_check_name/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L104)
- [`session_create`](/en/tmux/3.2a/reference/c-function-session_create/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L266)
- [`session_destroy`](/en/tmux/3.2a/reference/c-function-session_destroy/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L284)
- [`session_find`](/en/tmux/3.2a/reference/c-function-session_find/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L109)
- [`session_group_add`](/en/tmux/3.2a/reference/c-function-session_group_add/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L298)
- [`session_group_contains`](/en/tmux/3.2a/reference/c-function-session_group_contains/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L132)
- [`session_group_find`](/en/tmux/3.2a/reference/c-function-session_group_find/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L130)
- [`session_group_new`](/en/tmux/3.2a/reference/c-function-session_group_new/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L297)
- [`session_group_synchronize_to`](/en/tmux/3.2a/reference/c-function-session_group_synchronize_to/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L303)
- [`session_select`](/en/tmux/3.2a/reference/c-function-session_select/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L304)
- [`session_update_activity`](/en/tmux/3.2a/reference/c-function-session_update_activity/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L326)
- [`spawn_window`](/en/tmux/3.2a/reference/c-function-spawn_window/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L283)
- [`status_timer_start`](/en/tmux/3.2a/reference/c-function-status_timer_start/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L324)
- [`strtonum`](/en/tmux/3.2a/reference/c-function-strtonum/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L201)
- [`tty_update_client_offset`](/en/tmux/3.2a/reference/c-function-tty_update_client_offset/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L323)
- [`xstrdup`](/en/tmux/3.2a/reference/c-function-xstrdup/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/cmd-new-session.c#L134)

## Other function references

- [`cmdq_get_flags`](/en/tmux/3.2a/reference/c-function-cmdq_get_flags/) (function)
- [`options_get_number`](/en/tmux/3.2a/reference/c-function-options_get_number/) (function)
- [`server_client_get_cwd`](/en/tmux/3.2a/reference/c-function-server_client_get_cwd/) (function)

## Referenced by

- [`cmd_has_session_entry`](/en/tmux/3.2a/reference/c-variable-cmd_has_session_entry/) (attribute)
- [`cmd_new_session_entry`](/en/tmux/3.2a/reference/c-variable-cmd_new_session_entry/) (attribute)

## Referenced declarations

- [`args.argc`](/en/tmux/3.2a/reference/c-struct-args-argc/) (attribute)
- [`spawn_context.argc`](/en/tmux/3.2a/reference/c-struct-spawn_context-argc/) (attribute)
- [`args.argv`](/en/tmux/3.2a/reference/c-struct-args-argv/) (attribute)
- [`spawn_context.argv`](/en/tmux/3.2a/reference/c-struct-spawn_context-argv/) (attribute)
- [`cfg_finished`](/en/tmux/3.2a/reference/c-variable-cfg_finished/) (attribute)
- [`CLIENT_ATTACHED`](/en/tmux/3.2a/reference/c-define-tmux-h-client_attached/) (constant)
- [`CLIENT_CONTROL`](/en/tmux/3.2a/reference/c-define-tmux-h-client_control/) (constant)
- [`cmd`](/en/tmux/3.2a/reference/c-struct-cmd/) (struct)
- [`cmd_has_session_entry`](/en/tmux/3.2a/reference/c-variable-cmd_has_session_entry/) (attribute)
- [`CMD_RETURN_ERROR`](/en/tmux/3.2a/reference/c-enum-cmd_retval-cmd_return_error/) (constant)
- [`CMD_RETURN_NORMAL`](/en/tmux/3.2a/reference/c-enum-cmd_retval-cmd_return_normal/) (constant)
- [`cmd_retval`](/en/tmux/3.2a/reference/c-enum-cmd_retval/) (enum)
- [`cmdq_item`](/en/tmux/3.2a/reference/c-struct-cmdq_item/) (struct)
- [`CMDQ_STATE_REPEAT`](/en/tmux/3.2a/reference/c-define-tmux-h-cmdq_state_repeat/) (constant)
- [`cmd_find_state.current`](/en/tmux/3.2a/reference/c-struct-cmd_find_state-current/) (attribute)
- [`session.curw`](/en/tmux/3.2a/reference/c-struct-session-curw/) (attribute)
- [`spawn_context.cwd`](/en/tmux/3.2a/reference/c-struct-spawn_context-cwd/) (attribute)
- [`client.environ`](/en/tmux/3.2a/reference/c-struct-client-environ/) (attribute)
- [`client.fd`](/en/tmux/3.2a/reference/c-struct-client-fd/) (attribute)
- [`client.flags`](/en/tmux/3.2a/reference/c-struct-client-flags/) (attribute)
- [`spawn_context.flags`](/en/tmux/3.2a/reference/c-struct-spawn_context-flags/) (attribute)
- [`global_s_options`](/en/tmux/3.2a/reference/c-variable-global_s_options/) (attribute)
- [`spawn_context.idx`](/en/tmux/3.2a/reference/c-struct-spawn_context-idx/) (attribute)
- [`spawn_context.item`](/en/tmux/3.2a/reference/c-struct-spawn_context-item/) (attribute)
- [`session.last_attached_time`](/en/tmux/3.2a/reference/c-struct-session-last_attached_time/) (attribute)
- [`client.last_session`](/en/tmux/3.2a/reference/c-struct-client-last_session/) (attribute)
- [`MSG_READY`](/en/tmux/3.2a/reference/c-enum-msgtype-msg_ready/) (constant)
- [`session_group.name`](/en/tmux/3.2a/reference/c-struct-session_group-name/) (attribute)
- [`session.name`](/en/tmux/3.2a/reference/c-struct-session-name/) (attribute)
- [`spawn_context.name`](/en/tmux/3.2a/reference/c-struct-spawn_context-name/) (attribute)
- [`NEW_SESSION_TEMPLATE`](/en/tmux/3.2a/reference/c-define-cmd-new-session-c-new_session_template/) (constant)
- [`client.peer`](/en/tmux/3.2a/reference/c-struct-client-peer/) (attribute)
- [`cmd_find_state.s`](/en/tmux/3.2a/reference/c-struct-cmd_find_state-s/) (attribute)
- [`spawn_context.s`](/en/tmux/3.2a/reference/c-struct-spawn_context-s/) (attribute)
- [`client.session`](/en/tmux/3.2a/reference/c-struct-client-session/) (attribute)
- [`tty.sx`](/en/tmux/3.2a/reference/c-struct-tty-sx/) (attribute)
- [`tty.sy`](/en/tmux/3.2a/reference/c-struct-tty-sy/) (attribute)
- [`spawn_context.tc`](/en/tmux/3.2a/reference/c-struct-spawn_context-tc/) (attribute)
- [`client.tty`](/en/tmux/3.2a/reference/c-struct-client-tty/) (attribute)
- [`session.windows`](/en/tmux/3.2a/reference/c-struct-session-windows/) (attribute)
