Session settings
Configure session behavior, permissions, transcript presentation, and tool rendering from the app.
The Session settings screen controls how Happier sessions behave in the app.
The common controls stay on the root screen; the rest live in focused sub-screens so that root page stays scannable.
Where to find it
Open Settings → Session. Under Detailed session behavior you will find four pages:
| Sub-screen | What is on it |
|---|---|
| Composer and sending | Enter-to-send, message history, composer appearance, and how sending behaves while an agent is busy. |
| Provider limits and usage | Usage-limit recovery, and the provider usage gauge beside the composer. |
| Resume and handoff | Replay-based resume, and defaults for moving a session between machines. |
| Runtime and terminal | tmux, Windows terminal windows, and Terminal Connect compatibility. |
Permissions and Transcript are not here — they are top-level Settings entries in their own right. Tool rendering is reached from Transcript. If you are hunting for one of those from the Session screen, that is why you cannot find it.
What stays on the main Session screen
The root Session screen keeps the controls that affect how you work day to day:
- Session list behavior such as density, grouping, hidden inactive sessions, tags, and where sessions needing attention appear
- New session shortcut behavior such as whether project shortcuts reuse the newest project session selections
- Mobile session layout for choosing the phone session cockpit or the classic focused-screen layout, and for turning the cockpit's swipe-between-sessions gesture on or off
- Message sending behavior such as interrupt vs queue/pending strategies
- Composer input behavior such as Enter to Send
- Message history scope as a dropdown
- Input layout preferences
- Replay / resume defaults
- Session handoff defaults
- Terminal connect options
- Attach / local-control launch defaults such as tmux and Windows remote session mode
This keeps the root screen focused on common workflow choices instead of mixing them with large advanced settings groups.
Session list attention settings
The Activity and status signals group on the root Session screen decides how the session list treats sessions that want something from you.
Sessions needing attention chooses where those sessions appear:
- Leave in normal position (the default): the list stays exactly as grouped and sorted
- Group at top: one Needs attention section above the rest of the list
- Move to top of current group: sessions rise inside their own folder or workspace group instead
Keep sessions in Needs attention sets what happens to a session once it no longer needs you:
- off (the default): the session leaves the attention area, and you hold back the ones you care about with Keep in Needs attention from the session actions
- on: every session stays until you choose Remove from Needs attention
A per-session choice wins over that default in both directions. Both settings are account-wide, so they follow you to your other devices.
Full guide: Session read and unread state
Session handoff settings
The dedicated Session handoff screen controls the defaults used when you move a session between machines.
It includes:
- Transfer workspace
- Workspace conflict policy
- Ignored files
- Direct session target mode
Workspace transfer defaults
By default, Happier keeps workspace transfer off.
You can change the default behavior to:
- transfer the workspace by default
- keep the target workspace unchanged by default
The handoff modal still lets you override this per handoff.
Conflict policy
The default conflict policy can be:
- Create sibling copy
- Replace existing path
This controls what should happen if the destination path already exists.
Ignored files
The default ignored-file mode can be:
- Exclude ignored files
- Include selected ignored files
If you choose Include selected ignored files, you can set comma-separated include globs such as:
dist/**.env.local
Direct session target mode
This applies only when the source session is currently Direct.
You can choose:
- Keep direct
- Convert to synced
That setting becomes the default choice in the handoff modal, but you can still override it case by case.
For the full workflow, see Session handoff.
Attach and local-control settings
The root Session screen also contains the defaults that control how app-started sessions can later be continued from a terminal.
tmux integration
Enable tmux integration when you want supported sessions to start inside tmux.
Use this on machines where:
tmuxis installed,- you want to start from the app first, then later run
happier attach <session-id>from a shell, - you want providers such as Claude or Codex to reopen inside the same tmux-backed local host.
Windows remote session mode
For Windows machines, the Session screen also exposes a default Windows remote session mode.
The available modes are:
- Hidden — keep the session in the background for remote app usage
- Windows Terminal — start the session in a dedicated Windows Terminal host so you can later continue there locally
- Console — start the session in a visible console host
This is the global default. You can still override it:
- per machine from the machine details screen
- per session from the new-session flow when the selected machine is Windows
Precedence is:
- per-session choice
- machine override
- global Session setting
For the full workflow, see Attach to a running session.
Permissions screen
The dedicated Permissions screen separates two different concerns:
1. Default permissions
This section shows one row per enabled backend choice and lets you choose the default permission mode for new sessions.
Important details:
- the list is dynamic
- it comes from the resolved backend catalog
- built-in backends and configured Custom ACP backends can both appear here
- if a backend choice is not enabled for your account/build/settings, it should not appear
2. Apply permission changes
This is now a separate dropdown group.
It controls when a permission change should take effect for a running session:
- Immediate
- Next prompt
Use Immediate when you want the running session to react right away. Use Next prompt when you want the change to arm for the next turn instead of changing the current one mid-flight.
The same screen can also show related permission/session-default controls such as where prompts appear and transcript-storage defaults for backend choices when those features are available.
Full guide: Permissions
New session shortcut settings
The root Session settings screen includes a New session modal group.
This group contains the New session wizard row, where you can choose how wizard selectors are presented, and shortcut settings for project-based session creation.
The Remember last project session selections setting controls what happens when you use the project + action in the session list.
When it is on, Happier seeds the new-session screen from the newest session in that project group. This reuses selections such as machine, folder, engine, profile, permissions, model, session mode, MCP selection, connected services, and provider config options.
When it is off, the project + action only preselects the project machine and folder. The rest of the new-session screen follows the normal draft/default behavior.
Contextual shortcuts preserve typed draft content, such as an unsent prompt, while replacing launch selections with the shortcut source. This keeps your written intent without carrying stale choices from another project.
Full guide: New session shortcuts
Transcript screen
The Transcript screen controls how session conversations are presented:
- transcript layout
- thinking display
- tool chrome mode
- tool grouping / collapsed preview behavior
- motion / scrolling defaults
- code and diff presentation
This is a presentation layer. It does not change provider behavior or tool permissions.
Some transcript-related defaults, such as transcript-storage defaults for new sessions, are still backend-aware. That means a built-in backend and a configured ACP backend can have different default behavior.
Tool Rendering screen
The Tool Rendering screen controls how tool calls appear in the transcript.
It contains:
- default tool-detail behavior
- per-tool overrides
- separate overrides for the expanded/full view
This is useful when you want different defaults for tools like:
BashReadEditDiffWebSearch
For example, you might keep most tools compact in the timeline but still expand Diff or Patch more aggressively when opened.
Related guide: Tool timeline & normalization
Composer input behavior
Session settings also includes input behavior for the message composer.
These controls change how you type and send prompts in the app. They do not change provider permissions, model behavior, or how transcripts are stored.
Enter to Send
Enter to Send controls what the Return/Enter key does in the composer.
When it is off:
- pressing Enter inserts a new line in the composer
- use the send button to send the message
When it is on:
- on web, pressing Enter sends the message
- on web, pressing Shift+Enter inserts a new line
- on iOS and iPadOS with a physical keyboard, pressing Enter sends the message
- on iOS and iPadOS with a physical keyboard, pressing Shift+Enter still inserts a new line
Happier only sends when the composer has sendable content. That can be typed text, attached files, or included review-comment context. Empty composers and disabled send states are ignored.
Use Enter to Send when you prefer a chat-style workflow. Leave it off when you often write longer prompts, code blocks, or multi-line instructions.
The web and native app settings are stored separately, so you can use Enter-to-send on one platform and keep Enter-for-new-line on another.
On phones and tablets without a physical keyboard, the visible send button remains the clearest way to send a prompt.
Mobile session layout
Mobile session layout controls how phone-sized session screens are organized.
The setting is synced with your account and defaults to Cockpit.
Cockpit
Cockpit is the default phone layout.
It shows a bottom session tab bar with the session’s main work surfaces:
- the current agent chat, labeled by backend such as Claude, Codex, or OpenCode
- Files
- Git
- Tabs for open file previews, editors, Review, commit details, stash details, and other detail views
- Terminal when the embedded terminal is enabled and available as a session tab
Use Cockpit when you want mobile sessions to behave like a compact workspace instead of a single long chat screen.
Classic
Classic keeps the older focused-screen layout for phone-sized sessions.
Use Classic if you prefer opening Files, Git, Terminal, and details as separate focused routes instead of switching through the cockpit tab bar.
You can change the setting at any time from Settings → Session → Mobile session layout.
Swipe between sessions
Swipe between sessions is on by default and also synced with your account.
While it is on, a horizontal swipe across the bottom band of the cockpit moves to the next or previous session in the session list order you last saw, without going back to the list first. Back still returns to the list.
Turn it off if you would rather keep bottom-band swipes out of the way. The setting only affects the mobile app cockpit; the web and desktop clients are unaffected.
Full description: Swipe between sessions.
Message history
Message history is now a dropdown instead of an inline toggle pair.
The options let you choose whether composer history is kept:
- per session, or
- globally
This makes the current selection easier to understand at a glance.
Cannot find a setting?
A setting you remember seeing inline has almost certainly moved into one of the four sub-screens above rather than been removed — and Permissions, Transcript and Tool rendering are not under Session at all.
Related
Session modes
Understand provider-defined session modes such as Plan, how they differ from permissions, and how Happier handles plan approval flows.
Continuing a session
Pick up a conversation that already exists — one of your agent's own sessions, or a Happier session that went quiet — and decide who owns it afterwards.