<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Singularity](./bitburner.singularity.md) &gt; [workForFaction](./bitburner.singularity.workforfaction.md)

## Singularity.workForFaction() method

Work for a faction.

**Signature:**

```typescript
workForFaction(faction: FactionName, workType: FactionWorkType, focus?: boolean): boolean;
```

## Parameters

<table><thead><tr><th>

Parameter


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

faction


</td><td>

[FactionName](./bitburner.factionname.md)


</td><td>

Name of faction to work for.


</td></tr>
<tr><td>

workType


</td><td>

[FactionWorkType](./bitburner.factionworktype.md)


</td><td>

Type of work to perform for the faction.


</td></tr>
<tr><td>

focus


</td><td>

boolean


</td><td>

_(Optional)_ Acquire player focus on this work operation. Optional. Defaults to true.


</td></tr>
</tbody></table>

**Returns:**

boolean

True if the player starts working, and false otherwise.

## Remarks

RAM cost: 3 GB \* 16/4/1

This function will set you to start working for the specified faction. You must be a member of the faction and that faction must have the specified work type, or else this function will fail. If you are already in the middle of some “working” action (such as working for a company, training at a gym, or creating a program), then running this function will cancel that action.

This function will return true if you successfully start working for the specified faction, and false otherwise.

## Example


```js
const factionName = "CyberSec";
const workType = "hacking";

let success = ns.singularity.workForFaction(factionName, workType);
if (!success) ns.tprint(`ERROR: Failed to start work for ${factionName} with work type ${workType}.`);
```

