On September 2nd, Anthropic published the Claude commerce agents, an open-source starter code for shopping assistants as well as merchant assistants. We leverage the code to ship our own version for WooCommerce which can be found in our latest Agentic Tools repo, which will be a fun, growing space for our open-source commerce tools. Please keep in mind that these are built for experimentation and growth, and are not maintained within official capacity.
We wanted to get a version out that really considers merchant control. Ultimately, you as developers and merchants should still be at the helm of your catalog, checkout experience, payment gateway decisions and ultimately your customer relationships. This is the direction we’d like to see agentic commerce move towards, and we would like to define that together. So, we encourage you to utilize and test the agents and code, and experiment with the opportunities to build on these elements.
What Anthropic actually shipped
Anthropic shipped a blueprint for patterns and guardrails needed to get commerce agents up and running:
The shopping agent allows for catalog search, comparison, multi-item planning, cart building, order tracking, policy answers, and customer memory.
The merchant agent contains sales performance questions, inventory and order alerts, pricing and promotion suggestions, campaign drafting. Every write is staged behind a human approval gate.
This includes three runtime paths with Messages API, Claude Agent SDK, and Managed Agents with MCP as the external system connection. It also requires Python 3.11 or newer for backend and Node 22 and Next.js on the frontend.
What we built for WooCommerce
The blueprint is platform-agnostic by design. It defines the agents and leaves the connection to a real store for each platform to build. With ours, a shopper can ask the assistant for products, build a cart, and get handed to the store’s normal WooCommerce checkout. A store owner can ask about sales, stock, and problem orders, and approve the assistant’s suggested changes (prices, restocks, listing copy, scheduled sales) before anything goes live. Nothing places an order or takes payment on its own.
The shopper side needs a small bridge plugin on the store. The assistant’s cart lives under a Store API cart token, and the shopper’s browser has its own WooCommerce session that can’t see it. When the shopper clicks through to check out, the plugin re-adds each item to the shopper’s own cart with normal stock checks and sends them to checkout. Once the order is placed, it empties the assistant’s cart and records which cart the order came from, which is how the assistant can later answer “Where is my order?” The plugin is part of the reference, not a supported extension. We encourage you to read it and the code before installing it.
What to read before you install: https://github.com/woocommerce/agentic-tools/tree/trunk/claude-commerce-agent#readme
How to utilize the demo
There are two demo paths that you can start down and experiences you can complete:
As a Shopper
- Ask for a gift under $50 for someone setting up a workshop. Product cards and a cart get built in the conversation, comparisons on request.
- Checkout lands on the store’s normal WooCommerce checkout with that cart.
- Variations work properly: a size or color resolves to its own variation and the cart holds that variation.
- Policy answers come from the store’s own published pages.
- Shopper sessions are guests. Order lookups work only for orders placed from a cart the assistant built.
- The assistant never places an order or takes payment. Checkout is still on the store’s own page.
As a Merchant
- Ask what needs attention this morning. Low stock, a buyer’s note, a return spike.
- Ask it to restock the low-stock product and rewrite its thin listing. It shows a before and after preview and waits for an Approve click.
- Ask it to approve itself and it declines.
- Every change is staged this way: restocks, regular-price moves, listing copy, scheduled sale prices.
How to run it
Take a look at our Claude Commerce Agent README.md for installation and dependencies.
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt && npm install
# Python packages, then the two web apps
cp .env.example .env
# then set ANTHROPIC_API_KEY in .env
wordpress/local-store/scripts/setup.sh
# WordPress + WooCommerce in Docker on :8090, seededOne command starts a Docker WordPress and WooCommerce test store which includes a test store “ACME Supply Co.”, eight products, nine orders, policy pages, shipping, and the bridge plugin. Then start each side in its own terminal.
Storefront:
source .venv/bin/activate && uvicorn storefront.api.main:app --port 8006
npm run dev -w storefront/web # http://localhost:3006Merchant:
source .venv/bin/activate && uvicorn merchant.api.main:app --port 8007
npm run dev -w merchant/web # http://localhost:3007From a clean checkout to a first conversation takes about fifteen minutes. To point either side at your own store instead of the test store, follow the README, and start with a staging copy.
Limitations
Since this is reference code, there are a number of limitations to be aware of:
- There is no undo: Reversing a change means asking the assistant to stage a new one with the old values. That is a redo, which can be refused, and it can be wrong.
- No durable record. The conversation is the log of what changed, and a restart drops it. In WooCommerce the changes appear under the API key’s user with nothing naming the assistant. Only orders from the bridge are marked.
- No authentication. Anyone who can reach the services can use them, and the merchant service holds a full-write REST key. Put them behind your own auth.
- Built for small stores. Headline totals come from WooCommerce Analytics when it is available. Alerts and per-product figures come from a scan capped at 400 recent orders and 250 products, so a high-volume store can get alerts wrong.
- No traffic or conversion data. WooCommerce core records no sessions.
- Campaigns are read-only. The assistant can report on campaigns from installed marketing extensions but not draft them.
- Retrieval is keyword search. The model does the semantic work on top, rephrasing, retrying, and judging results, so it behaves like a hybrid. It can only reason about products a keyword actually returned. This one matters most for large or oddly-named catalogs, which is exactly what we want people to test.
- It is a self-hosted Python service beside WordPress. Cost is Claude usage, and the merchant side uses a larger model, plus hosting.
Who is this for?
The shopper side essentially runs as a second storefront, so shoppers will use it instead of the theme and return to the store at checkout – and for a merchant, it sends the shopper out to a different frontend in order to access this. This should be kept in mind for conversion from a merchant’s perspective.
The merchant side is currently built for smaller stores. If you want this kind of functionality at higher order volumes, reach out to join the WooCommerce AI Beta.
Ideally, this reference code is best used by developers and agencies that are evaluating and prototyping AI applications and workflows for their merchant-clients.
Where does WooCommerce AI fit into all of this?
If the initial question is, “how do I start building an assistant on Anthropic’s stack” then the reference code above is the ideal gateway to experimentation. However, we can think of WooCommerce AI as a tool that answers the more specific question of, “what should a merchant’s assistant be?”
WooCommerce AI brings scoped opinion and direction for a merchant’s AI experience. It lives inside wp-admin and communicates with the store by answering from the store’s own data from inside WooCommerce.
Installed as a plugin, WooCommerce AI runs every change through preview, approval, and undo. Each change carries a reversibility tier, and an Activity Log records what the assistant did. It handles batch changes as well. There is nothing additional for a merchant to host, the assistant runs within the merchant’s admin.
Want to contribute?
If you’re interested in experimenting with our agentic tools, please head to our Agentic Tools repo, and also add your thoughts to the GitHub Discussion.
Issues and PRs are welcome, so don’t be afraid to contribute!
If you are interested in participating in the WooCommerce AI Beta, please reach out to @shanibanerjee via the WooCommerce Community Slack or at developer-advocacy@woocommerce.com.
Leave a Reply