---
title: Mobile back gesture (Back steps back, it does not exit the app)
---

# Mobile back gesture

## What it is

### What it does

On the installed mobile app (the web/PWA version added to your home screen), the phone's Back gesture — Android's system Back button/swipe, or the iOS edge-swipe in a standalone-installed app — now **steps back one screen inside Omniscio** instead of closing the whole app.

Press Back and Omniscio walks backwards the way you came:

- An open **Search** or **file preview** closes first.
- A **secondary page** (Help, Archive, and similar full-screen views) returns you to the dashboard.
- The **drill-down** unwinds one level at a time: a session you opened → back to that project's session list → back to the projects list.
- Only once you're already at the top (the projects list, nothing else open) does a final Back leave the app — exactly like any normal app.

If a button on the screen you're reading opened another part of Omniscio right there — an inbox alert's **Open Settings**, say — Back first takes you back to what you were reading (that alert), not to that part's own list. If the item was cleared in the meantime, Back lands on the list it was in; several such opens in a row are undone one Back at a time. Buttons that say where they go — **Back to conversations**, **Back to channels** — still go there.

Before this, none of Omniscio's main mobile navigation was recorded in the phone's history, so the very first Back swipe had nothing to go back to and the browser simply left the page — which closed the entire installed app. Only two screens (Search and the file preview) used to handle Back at all.

## Where to find it

There is no button to press — it is your phone's own **Back** gesture (Android's Back button or edge swipe; the iOS edge swipe on a home-screen-installed app).

## How it behaves

### When it applies

- **Installed mobile app / mobile web**, where there's a real Back gesture to intercept. It's a touch-and-narrow-screen behavior; the desktop app is completely unaffected.
- **Android** delivers the Back gesture to installed web apps reliably. **iOS** delivers a standalone Back gesture only on **iOS 16.4 and later** — on older iPhones an installed PWA has no Back gesture at all, so there's nothing for Omniscio to catch (the feature is simply inert there, never broken).

There is no setting to turn this on or off — Back just works the normal way.

### How it works (in one breath)

Every screen that should "catch" Back registers with a single shared owner that records one entry in the browser's history and listens for the Back gesture once for the whole app. When you press Back, the most-recently-opened screen handles it and steps you back; the next Back handles the next screen down; and so on until there's nothing left to unwind, at which point Back exits. Because there's exactly one listener, a single Back press can never accidentally fire twice.

## Related

### Related

- [start-a-new-session.md](start-a-new-session.md) — the mobile projects → sessions → session drill-down that Back now unwinds.
- For engineers: the behavior and its invariants are locked in the `mobile-back-gesture-contract` (in `.claude/memory/contracts/`), and any new screen that wants to consume Back reuses the `useBackEntry` hook rather than wiring its own.

