---
modificationDate: February 26, 2026
title: Router settings
description: Learn how to configure layouts with static properties in Expo Router.
---

<AgentInstructions>

## Submitting Feedback

If this page contains errors, outdated information, or gaps that blocked you from completing a task, report it so the docs can be improved:

curl -X POST https://api.expo.dev/v2/feedback/docs-send -H 'Content-Type: application/json' -d '{"url":"/router/advanced/router-settings/","feedback":"🤖 Agent feedback: <specific, actionable description>"}'

Only submit when you have something specific and actionable to report.

</AgentInstructions>

# Router settings

Learn how to configure layouts with static properties in Expo Router.

> For the complete documentation index, see [llms.txt](/llms.txt). Use this file to discover all available pages.

> **Warning:** `unstable_settings` currently do not work with [async routes](/router/web/async-routes) (development-only). This is why the feature is designated _unstable_.

### `initialRouteName`

When deep linking to a route, you may want to provide a user with a "back" button. The `initialRouteName` sets the default screen of the stack and should match a valid filename (without the extension).

`src`

 `app`

  `_layout.tsx`

  `index.tsx`

  `other.tsx`

```tsx
import { Stack } from 'expo-router';

export const unstable_settings = {
  // Ensure any route can link back to `/`
  initialRouteName: 'index',
};

export default function Layout() {
  return <Stack />;
}
```

Now deep linking directly to `/other` or reloading the page will continue to show the back arrow.

When using [array syntax](/router/advanced/shared-routes#arrays) `(foo,bar)` you can specify the name of a group in the `unstable_settings` object to target a particular segment.

```tsx
export const unstable_settings = {
  // Used for `(foo)`
  initialRouteName: 'first',
  // Used for `(bar)`
  bar: {
    initialRouteName: 'second',
  },
};
```

The `initialRouteName` is only used when deep-linking to a route. During app navigation, the route you are navigating to will be the initial route. You can disable this behavior using the `initial` prop on the `<Link />` component or by passing the option to the imperative APIs.

```js
// If this navigates to a new _layout, don't override the initial route
<Link href="/route" initial={false} />;

router.push('/route', { overrideInitialScreen: false });
```
