te-cli

Manage Power BI and Analysis Services semantic models from the terminal with the Tabular Editor CLI.

6|3|Updated Jul 4, 2026
One-click install
npx skills add https://github.com/InsightfulAnalytics/PBI_Agentic_Dev --skill te-cli-insightfulanalytics
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: te-cli
Source: https://github.com/InsightfulAnalytics/PBI_Agentic_Dev/tree/main/plugins/tabular-editor/skills/te-cli
Command: npx skills add https://github.com/InsightfulAnalytics/PBI_Agentic_Dev --skill te-cli-insightfulanalytics

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Editing, validating, deploying, and testing Power BI / Fabric semantic models normally requires the Tabular Editor desktop app or manual XMLA work, which does not fit terminal-based or CI/CD workflows. This Skill teaches an agent to drive the cross-platform te CLI so models can be scaffolded, edited, gated, deployed, refreshed, and regression-tested entirely from the command line on macOS, Linux, and Windows. ## Core Features & Use Cases - Model authoring and editing: Scaffold TMDL/BIM/PBIP models, add or modify measures, columns, relationships, roles, and partitions with staged in-memory edits persisted via --save. - Quality gates and analysis: Run DAX validation, Best Practice Analyzer checks, DAX formatting, and VertiPaq storage analysis locally or against deployed models. - Deployment, refresh, and testing: Deploy over XMLA, trigger refreshes, manage incremental refresh policies, and run DAX assertion test suites or snapshot comparisons across workspaces. - CI/CD integration: GitHub Actions and Azure DevOps pipeline patterns with --non-interactive, --force, --ci annotations, TRX output, and environment-variable authentication. - Use Case: A data engineer needs to rename a measure, reformat all DAX, pass BPA rules, and deploy to a Fabric workspace from a pipeline. The agent runs te set, te format --save, te bpa run --fail-on error, and te deploy --force in sequence. ## Quick Start Ask the agent to check the te CLI version and authentication status, then load your local TMDL model folder and list all its measures.

Frequently Asked Questions about te-cli

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I edit a Power BI semantic model from the command line?▼

Use the te CLI with commands like te set, te add, te remove, and te move against a local TMDL or BIM path via -m. Mutations stage in memory by default, so pass --save to persist changes to disk.

How to deploy a semantic model to a Fabric workspace in CI/CD?▼

Run te deploy with -s and -d targeting the workspace and model, plus --force and --non-interactive so the confirmation prompt does not hang the pipeline. Authenticate with --auth env using AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID.

What is the difference between the te CLI and TabularEditor.exe (TE2)?▼

The te CLI is a cross-platform preview binary for macOS, Linux, and Windows built on the TE3 engine, while TabularEditor.exe (TE2) is the legacy Windows-only tool. TE2 flag syntax like -D or -S routes through a compat layer or TE2 directly.

Why does te query fail with 'No server specified' on a local model?▼

DAX-executing commands such as te query, te vertipaq, te refresh, and te test run require a deployed model, so a local -m path alone errors. Pass -s and -d for a workspace connection, or use te vertipaq --import for offline VPAX analysis.

Does the te CLI work on macOS and Linux?▼

Yes, the te binary runs natively on macOS (Intel and Apple Silicon) and Linux (x64 and ARM64), installable from the public CDN without authentication. Only local SSAS and Power BI Desktop connections remain Windows-only; all cloud workflows work everywhere.

Why do my te CLI edits disappear after the command finishes?▼

Mutating commands stage changes in memory by default under the stage edit mode and discard them on exit. Add --save to each mutation, or set te config set interactiveEditMode save to auto-persist after every successful change.