Skip to content
Back to skills

Install Odoo Module

ASecurity

How to install a new Odoo module on the running instance. Use this skill when the user asks to install, enable, or activate an Odoo add-on or module. Covers both shell-based installation via odoo-bin and UI-based installation via the Apps menu.

  • 33 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 1, 2026
ai-agentspythongoshellbashdatabase

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 1, 2026

npx -y skills add phenobarbital/ai-parrot --skill install-odoo-module --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Install Odoo Module?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Install Odoo Module
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/phenobarbital-install-odoo-module/badge)](https://www.skillsdirectory.com/skills/phenobarbital-install-odoo-module)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: install-odoo-module
description: How to install a new Odoo module on the running instance. Use this skill when the user asks to install, enable, or activate an Odoo add-on or module. Covers both shell-based installation via odoo-bin and UI-based installation via the Apps menu.
trigger: /install-odoo-module
license: Proprietary. See repository LICENSE
compatibility: Odoo 16 (XML-RPC), Odoo 18 and 19 (JSON-RPC / REST / JSON-2). Shell tools require ODOO_BIN to be set.
metadata:
  author: OdooAgent (FEAT-240)
  version: "1.0"
---

# Install an Odoo Module

Use this skill when asked to install a new Odoo module (add-on). Follow these
steps in order; confirm write operations with the user before executing.

---

## Prerequisites

Before installing, verify the following:

1. **Module source is present** — the module's source directory must exist on
   the Odoo server's add-ons path (`addons_path` in the Odoo config file, or the
   `--addons-path` argument).
2. **Database is backed up** — installing modules modifies the database schema.
   Always recommend a backup before proceeding in production.
3. **Odoo version compatibility** — check that the module declares the correct
   `version` in its `__manifest__.py` for the running Odoo version (16/18/19).
4. **Dependencies** — review `depends` in the module's `__manifest__.py` and
   confirm all listed dependencies are already installed.

---

## Installation Methods

### Method A: Shell (preferred for server-side installs)

Use the `odoo_shell_install_module` tool, which calls `odoo-bin -i`:

```
Tool: odoo_shell_install_module
  modules: ["<technical_module_name>"]
  database: "<target_database>"   # defaults to ODOO_TEST_DATABASE
  upgrade: false
```

This executes:
```bash
odoo-bin -d <database> -i <module_name> --stop-after-init
```

> **HITL NOTE**: This tool is gated by HITL confirmation — always present the
> command to the user and wait for approval before executing.

**Version differences:**
- **Odoo 16**: Uses XML-RPC; `odoo-bin -i` is the standard install path.
- **Odoo 18/19**: Uses JSON-RPC / REST; `odoo-bin -i` still works for
  server-side installs.

---

### Method B: Odoo Apps UI (for non-technical users)

1. Log in as an administrator.
2. Go to **Apps** menu (or **Settings → Apps**).
3. Search for the module by name.
4. Click **Install**.

> **Note**: The module must appear in the Apps catalogue.  Custom/local modules
> not published to the Odoo App Store may not appear here unless the database
> catalogue has been refreshed (`Settings → Technical → Update Apps List`).

---

### Method C: RPC (programmatic, Odoo 16 XML-RPC)

For Odoo 16, you can install a module via XML-RPC by writing to `ir.module.module`:

```python
# Step 1: Find the module
modules = client.execute_kw('ir.module.module', 'search_read',
    [[['name', '=', '<technical_name>'], ['state', '=', 'uninstalled']]],
    {'fields': ['id', 'name', 'state']})

# Step 2: Trigger install
client.execute_kw('ir.module.module', 'button_immediate_install',
    [[modules[0]['id']]])
```

> **HITL NOTE**: Any write/delete RPC call is gated by HITL confirmation.

---

## Post-Installation Steps

1. **Restart Odoo** — some modules require a server restart to activate all
   components (workers, cron jobs, assets).  Inform the user.
2. **Verify installation** — use the `odoo_get_odoo_profile` tool to check
   that the module appears in `installed_modules`.
3. **Update Apps List** — if the module is newly added to the file system and
   does not appear in the UI, go to **Settings → Technical → Update Apps List**.
4. **Check logs** — review the Odoo server log for errors during startup.

---

## Upgrade (vs Install)

To **upgrade** an already-installed module (apply code/manifest changes):

```
Tool: odoo_shell_upgrade_module
  modules: ["<technical_module_name>"]
  database: "<target_database>"
```

This calls `odoo-bin -d <db> -u <module> --stop-after-init`.

---

## Troubleshooting

| Symptom | Likely cause | Fix |
|---------|--------------|-----|
| Module not in Apps list | Not on addons_path | Add path to config; refresh Apps List |
| Install fails with dependency error | Missing parent module | Install dependencies first |
| Server won't start after install | Module code error | Check server log; rollback if needed |
| Module state shows "to install" but never completes | Cron not running | Restart Odoo with a worker |

---

## Example: Install the `sale` module on Odoo 18

```
I will install the 'sale' module on the odoo database using odoo-bin.
This is a write operation and requires your confirmation.

Proposed command:
  odoo_shell_install_module(modules=["sale"], database="odoo")
  → odoo-bin -d odoo -i sale --stop-after-init

Please confirm to proceed.
```

Files in this skill

  • SKILL.md4.7 KB
  • example.md1.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.