91³Ô¹ÏÍø

Watch CBS News

NJ Transit service resumes today after strike officially ends

NJ Transit trains are back on track Tuesday after the agency reached a tentative agreement with the engineers union to end their strike

NJ Transit President and CEO Kris Kolluri gave an update Tuesday morning, telling riders, "we're so grateful for them and the patience they exercised during the strike."

"I took the train this morning from Princeton Junction," he said. "It was on time, the windows were clean, and the customers and our riders couldn't have been any more happy."

"I'm feeling good right now," one commuter said. 

"I didn't have much issues until yesterday, but here we are today. They are back and operating, so I'm happy about that," commuter Elijah Thompson said. 

Trains ran mainly on schedule, with the exception of some interruptions on Amtrak's Northeast Corridor, where major switching issues occurred west of Secaucus. We're told it delayed trains by 20 minutes at around 4-5 a.m.

NJ Transit strike update

Although the strike ended Sunday night, hundreds of trains and miles of tracks had to be inspected before service was fully restored. Officials said the process takes up to 24 hours.   

Service had been halted since last Friday, impacting hundreds of thousands of riders

"We are in the business of running trains and buses, we're not in the business of stopping them," Kolluri said Tuesday morning. 

Government sources tell CBS News New York the deal with the Brotherhood of Locomotive Engineers and Trainmen (BLET) will not increase fares, at least for the next few years. 

Both sides are saying little about the deal until it's ratified next month. 

The union's general manager said in a statement it "boosts hourly pay beyond the proposal rejected by our members last month and beyond where we were when NJ Transit's managers walked away from the table Thursday evening."

"The difference between what we agreed to and what could've been is between a few million dollars and hundreds of millions of dollars. We are very confident that the package we put together is in the regular course of budgets, not just this year, but in the out years," Kolluri said.  

The union has up to 45 days to ratify the tentative deal. If it happens before the next NJ Transit board meeting on June 11th, board members will then be expected to take a vote on it.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });