---
title: "packages"
description: "The packages namespace — the engine's Luau API reference for packages."
section: "API Reference"
slug: "api-packages"
canonical: "https://origozero.ai/docs/api-packages"
updated: "2026-09-06T05:08:07.545730973+00:00"
tags: ["api", "reference"]
---

# packages

The `packages` namespace — 7 functions.

## globals/packages/list {#globals-packages-list}

```lua
packages.list() -> { PackageEntry }
```

List every registered package across scopes.

**Returns** `{ PackageEntry }` — Array of package entries.

```lua
for _, p in ipairs(packages.list()) do print(p.name, p.scope) end
```

## globals/packages/lookup {#globals-packages-lookup}

```lua
packages.lookup(name_or_scope: string, name: string?) -> PackageEntry?
```

Look up a single package by name (any scope) or by exact
`(scope, name)`.

**Parameters**

- `name_or_scope` `string` — Package name, or scope if a second arg is given.
- `name` `string` _(optional)_ — Package name when the first arg is a scope.

**Returns** `PackageEntry?` — Package entry or nil.

```lua
local p = packages.lookup("@builtin", "audio")
```

## modules/packages/README {#modules-packages-readme}

```lua
require("@builtin/modules/api/engine/packages") -- packages (also available as global 'packages')
```

Discover and inspect registered packages (folders marked with `package.yaml`). Public Luau surface over the `__packages` Internal FFI namespace.

Usage: local packages = require("@builtin/modules/api/engine/packages")
Also available as global: packages

## modules/packages/list {#modules-packages-list}

```lua
list(): { PackageEntry }
```

List every registered package across scopes.

```lua
for _, p in ipairs(packages.list()) do print(p.name, p.scope) end
```

## modules/packages/lookup {#modules-packages-lookup}

```lua
lookup(name_or_scope: string, name: string?): PackageEntry?
```

Look up a single package by name (any scope) or by exact
`(scope, name)`.

**Parameters**

- `name_or_scope` `string` — Package name, or scope if a second arg is given.
- `name` `string?` _(optional)_ — Package name when the first arg is a scope.

```lua
local p = packages.lookup("@builtin", "audio")
```

## typed/builtin//modules/api/engine/packages/packages/list {#typed-builtin-modules-api-engine-packages-packages-list}

```lua
packages.list() -> { PackageEntry }
```

List every registered package across scopes.

## typed/builtin//modules/api/engine/packages/packages/lookup {#typed-builtin-modules-api-engine-packages-packages-lookup}

```lua
packages.lookup(name_or_scope: string, name: string?) -> PackageEntry?
```

Look up a single package by name (any scope) or by exact
`(scope, name)`.

**Parameters**

- `name_or_scope` `string` — Package name, or scope if a second arg is given.
- `name` `string` _(optional)_ — Package name when the first arg is a scope.

**Returns** `PackageEntry?` — Package entry or nil.

```lua
local p = packages.lookup("@builtin", "audio")
```
