TL;DR: An AI assistant can set up and troubleshoot your WooCommerce shipping. Install the 1teamsoftware-wc-shipping skill, point an agent like Claude Code at your store, and it reads your settings, audits products, configures carriers, quotes live rates, and clears the checkout failures that usually need a developer. It runs the same WP-CLI commands a developer would type by hand, and it pauses to ask you for anything sensitive like an API key instead of inventing one. This page answers the questions people actually type into ChatGPT, Perplexity, and Google about doing exactly that.
It all runs on the 1TeamSoftware shipping plugins, which we build and support ourselves. They run on thousands of WooCommerce stores and hold review ratings in the 4.8 to 5.0 range. Nine plugins, one per carrier, sharing a single command set. Install the skill once:
$ npx skills add https://github.com/1TeamSoftware/skills --skill 1teamsoftware-wc-shippingThe commands and the agent skill are identical across all eight carriers; only the namespace changes. Whichever plugin you run, you start free and upgrade when you need fulfillment. Try it free on WordPress.org | See the PRO features.
Can AI do it?
Can an AI agent set up my WooCommerce shipping?
Yes. An AI agent can configure WooCommerce shipping end to end: install the skill, point an assistant at your site, and describe what you want in plain language. The agent runs documented WP-CLI commands to set credentials, origin address, zones, services, boxes, and rate adjustments, then proves the setup with a live rate quote. It asks one question at a time instead of handing you a wall of forms. Because the skill is the same CLI a human uses, anything it does, you can do by hand.
What does the agent actually do under the hood?
The agent runs commands of the form wp <namespace> <command>, nothing more. A from-scratch setup walks status, then products audit, products stats, and products orders to read your catalog, then settings list, validate, and zones to read the config. It writes origin, credentials, services, and boxes with settings set, then finishes with validate plus a rates quote. No hidden middle layer sits between you and the CLI. The skill is a set of playbooks that pick the right commands for your request. For a step-by-step walkthrough of that sequence, see the full WooCommerce shipping setup guide.
That closing validate is the moment you see the whole setup graded at a glance:
$ wp <namespace> validate License Status PASS License is activated Ship From PASS From Address configured Product Dimensions WARN Only 27% of products have valid dimensions Cart Rates PASS Rates working: 4/4 routes, 15 rate(s) total Shipping Services PASS 7 service(s) available Shipping Zones PASS Using global shipping rates (not zone-based) Sandbox Mode INFO Sandbox mode is active
Do I need to know WP-CLI to use it?
No. You describe the outcome and the agent handles the commands. You see every command it runs, which helps if you want to learn or audit what happened, but you never write one yourself. If you do prefer to run them directly, the full WP-CLI command reference lists every command and flag.
Which AI assistants can drive it?
Any assistant that can read the bundled SKILL.md playbooks in the plugin folder and run WP-CLI can drive it. That covers Claude Code, Cursor, and Copilot. The free plugin ships six skills; the PRO plugin adds four. An orchestrator skill routes a plain-language request to the right sub-skill, so you ask for what you want instead of naming a procedure.
Is it safe?
Is it safe to give an AI agent my carrier API key?
Yes, if you treat it like any contractor. Hand the agent a sandbox key during setup, verify everything works, then set the live key yourself. The agent never needs to see the real one. Secrets are redacted in command output by default: settings list prints credentials as [REDACTED], and settings get keeps them hidden unless you explicitly pass --raw.
Will the agent ever make up a key or a spec?
No. The skills stop and ask for secrets rather than guess them, and they never fabricate product data. When an audit finds missing weights or dimensions, the agent writes only the values it can verify from a real source and leaves the rest marked low-confidence or not-found for you to confirm by hand. The operating principle is to discover what is true, not assume it.
Where should credentials live for the strongest lockdown?
Put credentials in wp-config.php constants rather than the database. Constants override the database, never get written back to it, and can hide the credential fields from the admin UI entirely. This is how agencies provision managed-hosting fleets so on-site admins cannot change or read the keys. The PRO edition supports per-field locking, plus _DISABLE_SETTINGS and _HIDE_SETTINGS for whole-form lockdown.
Does it touch the database directly or risk a managed host?
No. The skills avoid raw wp db query and use HPOS-safe order functions like wc_get_orders(), so they behave on managed and high-order stores. Where a host or a wp-config.php constant has locked a setting, the agent reports “setting locked by static configuration” and tells you to edit the constant rather than fight the UI.
What can it do?
Can AI fix products that are missing weights or dimensions?
Yes, and fixing missing weights and dimensions is one of the most useful jobs an AI agent does. A carrier returns nothing when a product has no weight, so the customer sees no shipping option and leaves. The agent runs products audit --detailed --format=json --limit=0 to list every incomplete product, researches real specs, then writes them to the parent and every variation in your store’s units. Virtual and downloadable products are skipped automatically, and variations inherit weight and dimensions from the parent.
$ wp <namespace> products audit --detailed --format=json --limit=0Can AI recommend my shipping boxes?
Yes. Ask it to size a box set, and the agent runs products stats and products orders to learn what you actually ship, reads carrier box dimensions with boxes presets, tests candidates with products fit-box, and shows you a coverage table before it applies anything with settings set boxes. No order history? It falls back to catalog-only and tells you so. Box recommendation through boxes presets is a PRO feature; on a free install the agent writes the boxes setting directly.
Can AI buy shipping labels?
Yes, in the PRO edition. The agent buys labels in a batch with labels purchase --orders=1240,1241, which auto-creates a shipment if one does not exist yet. It merges many orders into one print-ready PDF with labels pdf, downloads or refunds single labels, and pulls tracking. One quirk to know: labels purchase logs how many labels it bought per order, not the tracking number. To read tracking, the agent runs track <shipment-id> --order=1240 afterward.
Can AI tune my shipping rates?
Yes. The rate-adjustment fields live in the free plugin and are writable with the free settings command; the PRO optimize-rates skill runs the survey-then-apply workflow. The agent surveys live rates with rates quote, then writes a markup, a flat handling fee, a floor or ceiling, or a cap on how many rates show. One caution it respects: priceAdjustmentPercent is a multiplier, so 1.15 means plus 15 percent, while 15 would multiply every rate fifteenfold.
| Goal | Setting | Value meaning |
|---|---|---|
| Add 15 percent markup | priceAdjustmentPercent | 1.15 (multiplier) |
| Add a flat handling fee | priceAdjustment | 2.00 (your currency) |
| Hide rates under five | minRateCost | 5.00 |
| Cap to the cheapest three | maxShippingRates | 3 |
| Add packaging weight | weightAdjustment | 0.5 (store weight unit) |
Adjustments apply in a fixed order: carrier rate, then percent, then fixed, then floor and ceiling, then the max-count cap.
Can AI quote a live rate to test the carrier?
Yes, and a live quote is the only real proof the carrier is reachable. No connectivity field exists anywhere in the settings; a quote that returns prices is the test. The agent runs rates quote --products="9405:2" --destination="500 5th Ave, New York, NY 10001, US". At a minimum it needs a ZIP or postcode plus a country; a full street address improves accuracy. The command prints a human log line before the JSON, so when scripting, extract the JSON array from the first bracket.
$ wp <namespace> rates quote --products="9405:2" --destination="500 5th Ave, New York, NY 10001, US"Which carriers?
Which carriers does this work with?
It works with all eight: Shippo, EasyPost, FedEx, ShipStation, ShipEngine, Shipmondo, Chit Chats, and Stallion Express. Shippo and EasyPost each front 100-plus downstream carriers. The commands are identical across every plugin; only the namespace and a few setting keys change between them.
| Plugin | Carrier | CLI namespace |
|---|---|---|
| Shippo | Shippo (100+ carriers) | wc-shippo-shipping |
| EasyPost | EasyPost (100+ carriers) | wc-easypost-shipping |
| FedEx | FedEx | wc-fedex-shipping |
| ShipStation | ShipStation | wc-shipstation-shipping-v2 |
| ShipEngine | ShipEngine | wc-shipengine-shipping |
| Shipmondo | Shipmondo | wc-shipmondo-shipping |
| ChitChats | Chit Chats | wc-chitchats-shipping |
| Stallion Express | Stallion Express | wc-stallionexpress-shipping |
How does the agent find the right namespace for my carrier?
The agent runs wp help | grep shipping and uses whatever that prints. The namespace is the plugin slug with -pro removed, so the free and PRO editions share one namespace. The one to watch is ShipStation. The current plugin runs on the carrier’s API v2, so its namespace is wc-shipstation-shipping-v2, while the legacy v1 plugin used wc-shipstation-shipping.
$ wp help | grep shippingHow does it know the credential keys, since they differ per carrier?
The agent discovers them with wp <namespace> settings list instead of assuming. Shippo uses testApiToken and liveApiToken; ShipStation uses an API key plus secret; FedEx uses a client ID, secret, and account number; others differ again. The agent reads the real keys for your carrier before it writes anything. It discovers valid service IDs with services and carrier box dimensions with boxes presets the same way.
Should I pick a multi-carrier aggregator before I install anything?
Pick on carrier coverage and pricing, not on tooling: the CLI and the agent skill are identical whichever aggregator you choose, so how you operate it never changes. If you are still deciding between the major multi-carrier APIs, compare them in ShipStation vs Shippo vs EasyPost.
Troubleshooting
How does AI fix “no rates at checkout”?
The agent runs four commands in order: validate to find config failures, zones to confirm the plugin is attached to the customer’s shipping zone, products audit to find missing weights and dimensions, and rates quote to test the carrier directly. Most cases trace back to one of two causes: a zone the plugin is not attached to, or products with no weight. This is the most common support ticket we field. Baymard Institute research puts documented average cart abandonment at roughly 70 percent, and surprise shipping cost ranks high among the reasons, so a blank rate field is worth treating seriously.
Rates work in the CLI but checkout shows none. What now?
That gap is almost always a zone the plugin is not attached to. The agent runs zones, reads the plugin_active, instance_id, and method_id columns to find which zone the affected addresses fall into, then adds the method where it is missing with wp wc shipping_zone_method create --zone_id=2 --method_id=<your-shipping-namespace> --user=1 (substitute your plugin’s namespace, for example wc-shippo-shipping or wc-easypost-shipping). In global mode, being absent from a zone is fine; in zone-based mode, it means no rates there.
$ wp <namespace> zones $ wp wc shipping_zone_method create --zone_id=2 --method_id=<your-shipping-namespace> --user=1
Can AI read the actual carrier API error behind a failed quote?
Yes, in PRO. When a quote fails with no useful message, the agent turns on debug logging with settings set debug yes, re-runs the same rates quote so the carrier’s raw response gets captured, reads the log under wp-content/uploads/wc-logs/, then turns debug back off with settings set debug no so secrets are not logged in production. That last step, re-disabling debug, is part of the routine.
$ wp <namespace> settings set debug yes $ wp <namespace> rates quote --products="9405:2" --destination="500 5th Ave, New York, NY 10001, US" $ wp <namespace> settings set debug no
I changed settings but checkout still shows old rates. Is that AI’s fault?
No, that is usually caching, not the AI. The agent checks the cache setting and its TTL, flushes with wp cache flush, and if a persistent object cache has drifted from the database, it temporarily disables the plugin cache to confirm the new rates, then turns it back on. A complete product on a covered route that still returns nothing is a WARN, not a connectivity failure; aggregators can lack rates on a specific route even when the product is complete.
Can AI run a full pre-launch health check?
Yes, with the verify-shipping skill. It runs validate, confirms origin, boxes, services, and zones, picks a product that has both weight and dimensions from the audit data, and proves rates come back with a real domestic quote (plus an international one if you ship abroad). You get a PASS or FAIL report with prioritized fixes, backed by an actual quote rather than a status field that only claims connectivity.
What it can’t do, and free vs PRO
What can’t an AI agent do here?
An AI agent will not invent an API key, a license key, or a product spec; it stops and asks for secrets instead. It cannot make rates appear at checkout if your carrier integration never quotes a rate in the first place, which is true of many official carrier plugins that only import orders and print labels. Flat-rate savings are another limit: sandbox does not reflect real flat-rate pricing, so any flat-rate comparison has to run against a live key. And when product data looks suspicious, it flags the values for your review before touching them.
What is free and what is PRO?
The free plugins cover everything you need to configure and diagnose shipping: status, settings, product audits, zones, services, rate adjustments, live rate quotes, and validation. The PRO edition adds fulfillment: labels, shipments, tracking, manifests, box presets, returns, and license commands, each with a matching CLI command and AI skill. Which of these a given carrier exposes depends on its API, so the agent reads features first. Not every carrier supports returns or end-of-day manifests.
| Capability | Free | PRO |
|---|---|---|
| Live rates at cart and checkout | Yes | Yes |
| Product audit and fix | Yes | Yes |
| Zones, services, origin, credentials | Yes | Yes |
| Rate markup, floor, ceiling, max count | Yes (settings) | Yes |
| Box presets and box recommendation | Direct config | Yes (presets) |
| Buy, merge, refund labels | No | Yes |
| Tracking and event history | No | Yes |
| End-of-day manifests | No | Yes |
| AI skills bundled | 6 | 10 |
If you fulfill from WooCommerce and want labels, batch printing, tracking, and manifests on the same CLI, the carrier product pages below list each PRO edition. For the full step-by-step walkthrough of running setup from the command line or an agent, see the hub: configure WooCommerce shipping with AI and WP-CLI.
Does the agent work across multiple stores the same way?
Yes, and across many stores is where it earns its keep. Because the commands are identical and scriptable, an agent can provision a new store from a standard config, or you can pre-seed everything through wp-config.php constants and lock the UI. The validate exit code makes a clean deploy gate, since it returns non-zero on any FAIL.
Get started
Install the skill, point your assistant at a staging store, and ask it to run a validate plus a rates quote so you can watch the whole loop work before you go near production. These plugins already run on thousands of WooCommerce stores, so you are following a route plenty of merchants have taken before you.
$ npx skills add https://github.com/1TeamSoftware/skills --skill 1teamsoftware-wc-shippingCarrier product pages:
- Shippo Shipping for WooCommerce
- ShipStation Shipping for WooCommerce
- EasyPost Shipping for WooCommerce
- FedEx Shipping for WooCommerce
- ShipEngine Shipping for WooCommerce
- Shipmondo Shipping for WooCommerce
- ChitChats Shipping for WooCommerce
- Stallion Express Shipping for WooCommerce
- Or compare the big three first: ShipStation vs Shippo vs EasyPost
Frequently asked questions
Yes. With the 1teamsoftware-wc-shipping skill installed, an agent like Claude Code sets credentials, origin, zones, services, boxes, and rate adjustments through WP-CLI, then confirms the result with a live rates quote. It asks one question at a time and runs only documented commands you can also run by hand, so the setup stays auditable.
Yes, if you treat it like any contractor: give the agent a sandbox key for setup, verify the result, then set the live key yourself. Secrets are redacted by default, so settings list shows [REDACTED] and settings get hides values unless you pass --raw. For the tightest lockdown, store credentials in wp-config.php constants.
The agent runs validate, zones, products audit, and rates quote in sequence to isolate the cause. The two usual culprits are a shipping zone the plugin is not attached to and products missing a weight. It fixes the zone by adding the method and fixes products by writing verified weights and dimensions.
All eight carriers share one command set: Shippo, EasyPost, FedEx, ShipStation, ShipEngine, Shipmondo, Chit Chats, and Stallion Express. Any assistant that reads SKILL.md playbooks and runs WP-CLI works, including Claude Code, Cursor, and Copilot.
Configuration and diagnosis are free: status, settings, product audits, zones, services, rate adjustments, live quotes, and validation. The PRO edition adds fulfillment such as labels, shipments, tracking, manifests, box presets, and returns. See the carrier product pages above for each PRO edition.
About the author: 1TeamSoftware builds and maintains the nine WooCommerce shipping plugins covered here, used by thousands of stores.

