A complete list of Haas M Codes.
All M codes are activated or cause an action to occur after everything else on a block has been completed.
Only one M code is allowed per block in a program.
If there is a (Setting number) listed next to an M code, that setting will in some way relate to that M code.
For Haas Mill G Codes read Haas CNC Mill G Codes.

Haas Mill M Codes
Haas Mill M Codes
| M-Code | Description |
|---|---|
| M00 | Program Stop |
| M01 | Optional Program Stop |
| M02 | Program End (Setting 39) |
| M03 | Spindle On, Clockwise (S) (Setting 144) |
| M04 | Spindle On, Counterclockwise (S) (Setting 144) |
| M05 | Spindle Stop |
| M06 | Tool Change (T) (Setting 42, 87, 155) |
| M08 | Coolant On (Setting 32) |
| M09 | Coolant Off |
| M10 | 4th Axis Brake On |
| M11 | 4th Axis Brake Release |
| M12 | 5th Axis Brake On |
| M13 | 5th Axis Brake Release |
| M16 | Tool Change (T) (Same as M06) |
| M17 | APC Pallet Unclamp and Open APC Door |
| M18 | APC Pallet Clamp and Close APC Door |
| M19 | Orient Spindle (P,R values optional) |
| M21-M28 | Optional User M Code Interface with M-Fin Signals |
| M30 | Program End and Reset (Setting 2, 39, 56, 83) |
| M31 | Chip Auger Forward (Setting 114,115) |
| M33 | Chip Auger Stop |
| M34 | Coolant Spigot Position Down, Increment (+1) |
| M35 | Coolant Spigot Position Up, Decrement (-1) |
| M36 | Pallet Part Ready (P) |
| M39 | Rotate Tool Turret (T#) (Setting 86) |
| M41 | Spindle Low Gear Override |
| M42 | Spindle High Gear Override |
| M50 | Execute Pallet Change (P) (Setting 121 thru,129) |
| M51-M58 | Optional User M Code Set |
| M59 | Output Relay Set (N) |
| M61-M68 | Optional User M Code Clear |
| M69 | Output Relay Clear (N) |
| M75 | Set G35 or G136 Reference Point |
| M76 | Control Display Inactive |
| M77 | Control Display Active |
| M78 | Alarm if Skip Signal Found |
| M79 | Alarm if Skip Signal Not Found |
| M80 | Automatic Door Open (Setting 131) |
| M81 | Automatic Door Close (Setting 131) |
| M82 | Tool Unclamp |
| M83 | Auto Air Jet On |
| M84 | Auto Air Jet Off |
| M86 | Tool Clamp |
| M88 | Coolant Through the Spindle On |
| M89 | Coolant Through the Spindle Off |
| M93 | Axis POS Capture Start (P, Q) |
| M94 | Axis POS Capture Stop |
| M95 | Sleep Mode |
| M96 | Jump if No Input (P, Q) |
| M97 | Local Sub-Program Call (P, L) |
| M98 | Sub Program Call (P, L) |
| M99 | M97 Local Sub-Program or M98 Sub-Program Return or Loop Program (Setting 118) |
| M101 | MOM (Minimum Oil Machining) CANNED CYCLE MODE (I) |
| M102 | MOM (Minimum Oil Machining) MODE (I,J) |
| M103 | MOM (Minimum Oil Machining) MODE CANEL |
| M109 | Interactive User Input (P) |