> For the complete documentation index, see [llms.txt](https://ploegert.gitbook.io/til/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ploegert.gitbook.io/til/tools/xstate/start-a-machine-in-a-specific-state.md).

# Start A Machine In A Specific State

For testing (or debugging) purposes, it can be handy to get an XState machine running from a specific state.

Let's say a machine has an initial state of `green` and the other states it can be in are `yellow` and `red`. And `yellow` has sub-states of `walk` and `hurry`.

By default, a machine will start in the specified initial state.

```javascript
const service = interpret(trafficLightMachine);

service.start();

service.state.value; //=> 'green'
```

We can tell the traffic light service to start in the `red` state instead.

```javascript
service.start('red');

service.state.value; //=> 'red'
```

We can even tell it to start in a sub-state (nested state) of a particular state.

```javascript
service.start({ yellow: 'hurry' });

service.state.value; //=> { yellow: 'hurry' }
```

[source](https://xstate.js.org/docs/guides/interpretation.html#starting-and-stopping)
