# io.github.libtmux.Server.Server.newSession

- **Module:** io.github.libtmux.Server.Server
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-java/blob/c3517519ee799428a809ce6deb1708c8be289cd1/libtmux/src/main/java/io/github/libtmux/Server.java#L62
- **Page:** https://libtmux.org/reference/java/io-github-libtmux-server-server-newsession/

```
io.github.libtmux.Server.Server.newSession(name: String) -> Session
```

Creates a detached session and returns that exact session.

<p>tmux reports which session it made, so the result is exact even when another session
already carries the same name.

<p>Keep {@code :} and {@code .} out of the name. tmux decides what to do with them and changes
its mind across the supported range: 3.2a through 3.6 rewrite each one to {@code _}, 3.7
refuses the name, and 3.7a onwards keeps it — where it then cannot address the session,
because a target splits on both. {@link Session#name()} reports what tmux settled on.
