> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# base44 functions pull

> Pull deployed functions from Base44 to local files.

<Warning>
  This page is part of an AI coding agent skill and is written for agents, not humans. For the human-readable Base44 docs, see the [developer documentation](/developers).
</Warning>

# base44 functions pull

Pull deployed functions from Base44 to local files.

## Syntax

```bash theme={null}
npx base44 functions pull [name]
```

## Arguments

| Argument | Description                                  | Required |
| -------- | -------------------------------------------- | -------- |
| `[name]` | Function name to pull (pulls all if omitted) | No       |

## Authentication

**Required**: Yes. If not authenticated, you'll be prompted to login first.

## What It Does

1. Fetches deployed functions from Base44
2. Filters to the specified function if `[name]` is provided
3. Skips functions owned by a plugin (they are not written locally)
4. Writes function files to the local `functions/` directory (configured in `base44/config.jsonc`)
5. Reports each file as `written` (new/updated) or `unchanged`

## Examples

```bash theme={null}
# Pull all deployed functions
npx base44 functions pull

# Pull a specific function
npx base44 functions pull process-order
```

## Output

```bash theme={null}
$ npx base44 functions pull
✓ Functions fetched successfully
✓ Function files written successfully
✓ process-order              written
◆ send-notification          unchanged

✓ Pulled 2 functions to base44/functions
```

Single function:

```bash theme={null}
$ npx base44 functions pull process-order
✓ Functions fetched successfully
✓ Function files written successfully
✓ process-order              written

✓ Pulled 1 function to base44/functions
```

## Error Handling

If the specified function is not found on remote:

```bash theme={null}
$ npx base44 functions pull nonexistent
✓ Function "nonexistent" not found on remote
```

If the specified function is plugin-owned:

```bash theme={null}
$ npx base44 functions pull plugin-func
✓ Function "plugin-func" is managed by a plugin and was not pulled into base44/functions
```

If no functions exist on remote:

```bash theme={null}
$ npx base44 functions pull
✓ No functions found on remote
```

## Notes

* Files are written to the `functionsDir` configured in `base44/config.jsonc` (defaults to `functions/`)
* Files already matching remote content are skipped (reported as `unchanged`)
* **Plugin-owned functions are skipped** — functions managed by a plugin are never written locally; they appear as `plugin-owned, skipped` in output
* This overwrites existing local function files with remote versions — commit local changes first
* Use `npx base44 functions deploy` to push local changes back to Base44
* Use `npx base44 functions list` to see what functions are deployed on remote
